Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

354
Views
¿Cuál es el reemplazo del método Transaction.wasCommitted de Hibernate?

Estoy tratando de actualizar un código de una versión anterior de Hibernate (versión 3). Utiliza dos métodos de la interfaz Transaction que ya no existen en Hibernate 5.

 session.getTransaction().wasCommitted() session.getTransaction().wasRolledBack()

¿Cuál es el equivalente en Hibernate 5?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Parece que estás buscando session.getTransaction().getStatus() . Por ejemplo,

 session.getTransaction().getStatus() == TransactionStatus.COMMITTED session.getTransaction().getStatus() == TransactionStatus.ROLLED_BACK

También es posible que desee examinar los documentos de TransactionStatus para ver la granularidad relativamente fina de los estados de las transacciones, ya que es posible que desee o necesite sustitutos más inclusivos que los anteriores. Además, no pase por alto los métodos de TransactionStatus , que pueden resultarle útiles. Por ejemplo,

 session.getTransaction().getStatus().isOneOf( TransactionStatus.MARKED_ROLLBACK, TransactionStatus.ROLLING_BACK, TransactionStatus.ROLLED_BACK)
over 4 years ago · Santiago Trujillo Report

0

Encontré este problema al actualizar Hibernate. Así modifiqué mi código

 Transaction trans = null;

Una vez que cometemos la transacción, podemos verificar su estado y devolver el valor booleano como verdadero o falso como

 boolean wasCommitted=trans.getStatus().equals("ACTIVE")?true:false;

Podríamos confundirnos entre Activo y COMPROMETIDO, pero descubrí que activo en hibernación es equivalente a wasCommitted() en la versión anterior

 ACTIVE, /** * The transaction has been completed successfully. */ COMMITTED, /** * The transaction has been rolled back. */ ROLLED_BACK, /** * The transaction has been marked for rollback only. */
over 4 years ago · Santiago Trujillo Report

0

Probar

 transaction.getStatus().canRollback()
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!