Как создать и прочитать последовательность в Hibernate?

StackOverflow https://stackoverflow.com/questions/1605527

Вопрос

Мне нужно использовать последовательность, чтобы получить уникальное значение. Рабочий код использует postgres, но я хотел бы получить к нему доступ через Hibernate, чтобы я мог проверить это с помощью HSQLDB.

Как я могу создать и прочитать последовательность в Hibernate?

Это было полезно?

Решение

Взгляните на диалект ( https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/ Dialect.java ).

Он содержит код, определяющий, поддерживает ли ваша база данных последовательности ( поддерживаетSeptions () ), и методы их создания и удаления ('getCreateSequenceString (String sequenceName)').

К сожалению, нет никакого чистого способа получить диалект от сессии; см. Как получить диалект Hibernate во время выполнения

[СТАРЫЙ ответ]

Вы можете попытаться повторно использовать код из HibernateDialect , но основной API этого не предлагает. Лучше всего сделать это в интерфейсе, а затем использовать разные реализации в зависимости от вашего диалекта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top