¿Hibernate proporciona un método que devuelve el estado de un objeto (transitorio, persistente, separado)?Obtención de un estado de objeto
Respuesta
ver Javadoc Hibernate Session y comprobar los métodos
- Contiene - Compruebe si esta instancia está asociada con esta sesión.
- getIdentifier - Devuelve el valor del identificador de la entidad dada como asociado a esta sesión. Tenga cuidado con la excepción que se lanza si la entidad no está asociada, cada excepción debe considerarse fatal y la sesión no se debe usar después
- get - Devuelve la instancia persistente de la clase de entidad dada con el identificador dado o nulo si no hay tal instancia persistente.
, lo usaría 'conseguir' y, además, comprobar si hay valores cambiados, después de que su sólo una "saveOrUpdate" de persistir o actualización (y volver a montar) el objeto real
Session.contains te dice si un objeto está asociado con la sesión. Si no tiene identificador, es transitorio, si tiene un identificador y está asociado con la sesión, persistente. Identificador pero no asociado a una sesión, separado.
Si eso no ayuda, considere reformular su pregunta con más contexto, es decir, ¿por qué necesita saber el estado de un objeto en primer lugar?
No estoy de acuerdo con el uso de session.contains(obj)
para revelar el estado de objeto de hibernación. Un objeto anteriormente persistido/cargado se asumirá como TRANSITORIO después de una simple llamada de session.clear()
- si no obtuvo una clave principal sino una compuesta, no tiene idea en qué estado se encuentra ...
Se puede encontrar un enfoque correcto dentro de Hibernate 3: org.hibernate.engine.ForeignKeys.isTransient(...)
- 1. Obtención de un objeto HTMLElement del objeto jQuery
- 2. Obtención del estado del sistema en python
- 3. Obtención objeto número entero de ResultSet
- 4. Obtención de adjuntos de correo al objeto de archivo python
- 5. Obtención de texto de un QListView
- 6. Obtención del estado gen_server/gen_fsm para la depuración
- 7. ¿Cuándo un objeto simulado ingresa al estado de reproducción?
- 8. ¿Cómo se valida el estado interno de un objeto?
- 9. Estado de la aplicación ASP.NET frente a un objeto estático
- 10. Obtención de DoDragDrop DragSource
- 11. Obtención del objeto de clase externa desde el objeto de clase interna
- 12. Obtención de objeto de modelo completo de un cuadro combinado en ExtJs?
- 13. Obtención de un delegado de methodinfo
- 14. ¿Cómo validar un objeto de modelo anidado basado en el estado del objeto primario?
- 15. Crear un objeto basado en el estado de otro objeto en Java
- 16. ¿Qué es un objeto sin estado en Java?
- 17. ¿El movimiento deja el objeto en un estado utilizable?
- 18. R: Obtención de valores de atributos como un vector
- 19. diccionario genérico - Obtención de un error de conversión
- 20. Obtener un objeto de conexión JDBC de un Bean sin estado
- 21. API de Tweepy: cómo obtener el ID de usuario de un objeto de búsqueda de estado?
- 22. sqlalchemy: obtener el objeto estado de la instancia
- 23. Obtención de contactos de Outlook con Python
- 24. Obtención de Stacktrace
- 25. Obtención de permiso de ejecución para xp_cmdshell
- 26. Anotación de obtención en SDG 2.0, obtención de preguntas de estrategia
- 27. Obtención de Valores de ExpressionTrees
- 28. Obtención de System.Net.Mail.MailMessage como un MemoryStream en .NET 4.5 beta
- 29. Obtención de ubicaciones de direcciones de un método de sobrecarga
- 30. Obtención rápida de ASP.NET para un codificador experimentado
imho no se puede diseñar, sin embargo +1 ya que este es un problema interesante – dfa