¿Cómo crear y leer una secuencia en Hibernate?
-
05-07-2019 - |
Pregunta
Necesito usar una secuencia para obtener un valor único. El código de producción utiliza postgres, pero me gustaría acceder a él a través de Hibernate para poder probar esto con HSQLDB.
¿Cómo puedo crear y leer una secuencia en Hibernate?
Solución
Eche un vistazo a Dialect
( https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/ Dialect.java ).
Contiene código para determinar si su base de datos admite secuencias ( supportSequences ()
) y métodos para crearlas y eliminarlas ('getCreateSequenceString (String sequenceName)').
Lamentablemente, no hay una forma clara de obtener el dialecto de la sesión; vea Cómo obtener el dialecto de Hibernate durante el tiempo de ejecución
[Respuesta VIEJA]
Puedes intentar reutilizar el código de HibernateDialect
pero la API principal no ofrece esto. Probablemente lo mejor sea envolver esto en una interfaz y luego usar diferentes implementaciones según su dialecto.