Последовательность Hibernate 5, переключитесь на удостоверение в Sql Server 2008 Dialect

Недавно я перешел с Hibernate 3.6.4 на Hibernate 5.0.0 Final. У меня есть объект с идентификатором, аннотированным следующим образом:

@Id
@GeneratedValue(generator="SEQ_MENUITEM")
@SequenceGenerator(name="SEQ_MENUITEM",sequenceName="SEQ_MENUITEM", allocationSize=1)
@Column(name = "ID_MENUITEM")
private int id;

конфигурация спящего режима может быть:

<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>

or

<property name="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</property>

в зависимости от производственной среды программное обеспечение должно быть переносимым либо в Oracle, либо в Sql Server 2008.

Используя Hibernate 3.6.4, он автоматически переключается с последовательности на идентификатор (автоинкремент), когда указан SQLServer2008Dialect, поэтому он работает нормально.

Используя Hibernate 5, у меня есть эта ошибка:

com.microsoft.sqlserver.jdbc.SQLServerException: недопустимое имя объекта «SEQ_MENUITEM».

Он ищет последовательность вместо того, чтобы переключиться на личность. Моя среда разработки — Sql Server 2014 (поддерживающая последовательности), но мой диалект — 2008, а производственная среда — 2008.

Есть идеи? Что-то изменилось с 3.6.4 на 5? Я не могу найти никакой информации или какой-либо дополнительной конфигурации xml (конечно, без изменения всех аннотаций во всех объектах при переключении с оракула на сервер sql).

Спасибо.


person RedPelle    schedule 01.09.2015    source источник
comment
кто-нибудь нашел решение для этого, я столкнулся с той же проблемой   -  person Dev Blanked    schedule 21.03.2016
comment
Решение stackoverflow.com/questions/25047226/ работал у меня   -  person Dev Blanked    schedule 23.03.2016