1

I faced following issues after upgrading to hibernate 5 in JPA Application.

HHH90000015: Found use of deprecated [org.hibernate.id.MultipleHiLoPerTableGenerator] table-based id generator; use org.hibernate.id.enhanced.TableGenerator instead. 

and

HHH90000014: Found use of deprecated [org.hibernate.id.SequenceGenerator] sequence-based id generator; use org.hibernate.id.enhanced.SequenceStyleGenerator instead.  

The entities are annotated like this:enter code here

@Id
@GeneratedValue(strategy=GenerationType.TABLE, generator="TB_SEQ_GEN")
private long id;

and

@Id
@GeneratedValue
private long id;`

persistence.xml:`

<shared-cache-mode>NONE</shared-cache-mode>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"></property>
<property name="hibernate.show_sql" value="false"></property>
<property name="hibernate.hbm2ddl.auto" value="update"></property>
<property name="hibernate.id.new_generator_mappings" value="true">
</property>

orm.xml:

<table-generator name="TB_SEQ_GEN" table="SEQUENCE_GENERATOR" schema="tb" pk-column-name="SEQ_NAME" value-column-name="NEXT_VAL" pk-column-value="TB" initial-value="1000" allocation-size="1000">
Valsaraj Viswanathan
  • 1,473
  • 5
  • 28
  • 51

1 Answers1

4

Try to change mapping to something like this:

@Id
@GenericGenerator(
        name = "myTableGenerator",
        strategy = "org.hibernate.id.enhanced.TableGenerator",
        parameters = {
                @Parameter(name = "table_name", value = "MY_SEQUENCES")
        }
)
@GeneratedValue(generator = "myTableGenerator")
private long id;

and:

@Id
@GenericGenerator(
        name = "mySequenceGenerator",
        strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
        parameters = {
                @Parameter(name = "sequence_name", value = "MY_SEQUENCE"),
                @Parameter(name = "initial_value", value = "1000"),
                @Parameter(name = "increment_size", value = "1")
        }
)
@GeneratedValue(generator = "mySequenceGenerator")
private long id;
martinsefcik
  • 346
  • 9
  • 20
  • In addition to this I added @Parameter(name = "schema", value = "tb"). Also set latest value of id in new sequence generator, ALTER SEQUENCE tb.MY_SEQUENCE RESTART WITH ; – Valsaraj Viswanathan Apr 28 '17 at 13:41