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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top