Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

358
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

0

Probar

 transaction.getStatus().canRollback()
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda