2017-02-12 40 views
4

Aftre мигрировать мое приложение из hibernate 4 в hibernate 5 .my последовательность доза не работает, а спящий режим использует нашу последовательность по умолчанию вместо моей последовательности .my mapping config в hbm, как и моя база данных - оракул.Почему генератор последовательности Hibernate 5 использует по умолчанию hibernate.seq вместо моей последовательности?

<id name="id" column="Id" type="java.lang.Long"> 
    <generator class="sequence" > 
      <param name="sequence">SEQ_APP_Login_Log</param> 
    </generator> 
</id> 

после Google некоторые люди говорят, что класс изменение org.hibernate.id.enhanced.SequenceStyleGenerator но доза не работать снова.

ответ

5

Это просто. Атрибут sequence изменился на sequence_name:

<id name="id" column="Id" type="java.lang.Long"> 
    <generator class="sequence" > 
      <param name="sequence_name">SEQ_APP_Login_Log</param> 
    </generator> 
</id> 
+0

, как я могу с помощью sequence_name в обоих зимуют 4 и 5, у меня есть рамки, которые используют более чем в 10 Enterprise App. Я хочу перейти на hibernate 5 и изменить этот hbm, но я хочу, чтобы мои фреймворки работали в обеих версиях. –

+1

Вы можете создать собственный генератор идентификаторов, как описано в [этой статье] (https://vladmihalcea.com/2016/06/13/ как в реализации-а-пользовательскую-нить на основе последовательности-идентификатор-генератор с-спящий режим /). –