Как создать и прочитать последовательность в Hibernate?
-
05-07-2019 - |
Вопрос
Мне нужно использовать последовательность, чтобы получить уникальное значение. Рабочий код использует 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 этого не предлагает. Лучше всего сделать это в интерфейсе, а затем использовать разные реализации в зависимости от вашего диалекта.