5

Aftre migrate my application from hibernate 4 to hibernate 5 .my sequence dose not work and hibernate use our default sequence instead of my sequence .my mapping config in hbm like this my database is oracle .

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

after google some people say change class to org.hibernate.id.enhanced.SequenceStyleGenerator but dose not work again.

Vlad Mihalcea
  • 142,745
  • 71
  • 566
  • 911
ali akbar azizkhani
  • 2,213
  • 5
  • 31
  • 48

2 Answers2

11

It's simple. The sequence attribute has changed to 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>
Vlad Mihalcea
  • 142,745
  • 71
  • 566
  • 911
  • how can i using sequence_name in both hibernate 4 and 5 ,I have framework that use in more than 10 Enterprise App . i want to migrate to hibernate 5 and change this hbm but i want my framework work in both version – ali akbar azizkhani Feb 13 '17 at 16:02
0

class "sequence" is shortcut for "org.hibernate.id.SequenceGenerator" which is deprecated. use the following for hibernate5+:

<generator class="org.hibernate.id.enhanced.SequenceStyleGenerator">
    <param name="optimizer">none</param>
    <param name="increment_size">1</param>
    <param name="sequence_name">MY_SEQUENCE</param>
</generator>
Brian Brix
  • 449
  • 4
  • 12