Java Hibernate Objects
Desde que recientemente aprendí a Java Hibernate, he compilado la información sobre varios estados de Java Hibernate Objects aquí. Los amigos interesados pueden echar un vistazo.
Transitorio: no hay datos en la base de datos corresponden a ella. Si excede el alcance, será recolectado por el recolector de basura JVM. Por lo general, es un objeto que sale de nuevo y no tiene asociación con la sesión.
Persistente: hay datos en la base de datos correspondiente a ella, y actualmente está asociado con la sesión, y la sesión asociada no está cerrada y la transacción no se compromete;
El estado de un objeto persistente cambia, lo que afectará la base de datos cuando la transacción se comete (Hibernate puede detectar).
(Cuando se guarde el objeto, los datos se persistirán. En este momento, después de obj.set (), la transacción se enviará a Hibernate.
Si usa obj.set () antes de guardar el objeto (incluso si está en una transacción), es decir, antes de persistir el objeto, Hibernate no puede detectar la modificación de datos y no afectará la base de datos)
Separado: hay datos en la base de datos correspondientes a ella, pero actualmente no hay una sesión asociada con ella; No se puede detectar el estado del objeto separado y Hibernate.
Tres estados del objeto hibernado, diagrama de transformación:
Commit () cerrará la sesión
Entrevista: ¿Qué pasa si determina en qué estado se encuentra un objeto?
La base principal es: 1. Compruebe si el objeto está en sesión, 2, y vea si hay registros correspondientes en la base de datos.
Resumir:
Estado transitorio: no hay gestión de sesiones, y la base de datos no tiene registros correspondientes
Persistencia: hay gestión de sesiones y registros en la base de datos
Definicio/Estado libre: no hay gestión de sesiones, pero se registra en la base de datos.
Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!