升级到hibernate 5后JPA应用程序中的序列生成器警告
在JPA应用程序中升级到hibernate 5后,我遇到了以下问题升级到hibernate 5后JPA应用程序中的序列生成器警告,hibernate,jpa,wildfly-10,Hibernate,Jpa,Wildfly 10,在JPA应用程序中升级到hibernate 5后,我遇到了以下问题 HHH90000015: Found use of deprecated [org.hibernate.id.MultipleHiLoPerTableGenerator] table-based id generator; use org.hibernate.id.enhanced.TableGenerator instead. 及 实体的注释如下:在此处输入code @Id @GeneratedValue(strategy
HHH90000015: Found use of deprecated [org.hibernate.id.MultipleHiLoPerTableGenerator] table-based id generator; use org.hibernate.id.enhanced.TableGenerator instead.
及
实体的注释如下:在此处输入code
@Id
@GeneratedValue(strategy=GenerationType.TABLE, generator="TB_SEQ_GEN")
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">
尝试将映射更改为以下内容:
@Id
@通用生成器(
name=“myTableGenerator”,
strategy=“org.hibernate.id.enhanced.TableGenerator”,
参数={
@参数(name=“table\u name”,value=“MY\u SEQUENCES”)
}
)
@GeneratedValue(generator=“myTableGenerator”)
私人长id;
以及:
@Id
@通用生成器(
name=“mySequenceGenerator”,
strategy=“org.hibernate.id.enhanced.SequenceStyleGenerator”,
参数={
@参数(name=“sequence\u name”,value=“MY\u sequence”),
@参数(name=“initial_value”,value=“1000”),
@参数(name=“increment\u size”,value=“1”)
}
)
@GeneratedValue(generator=“mySequenceGenerator”)
私人长id;
尝试将映射更改为以下内容:
@Id
@通用生成器(
name=“myTableGenerator”,
strategy=“org.hibernate.id.enhanced.TableGenerator”,
参数={
@参数(name=“table\u name”,value=“MY\u SEQUENCES”)
}
)
@GeneratedValue(generator=“myTableGenerator”)
私人长id;
以及:
@Id
@通用生成器(
name=“mySequenceGenerator”,
strategy=“org.hibernate.id.enhanced.SequenceStyleGenerator”,
参数={
@参数(name=“sequence\u name”,value=“MY\u sequence”),
@参数(name=“initial_value”,value=“1000”),
@参数(name=“increment\u size”,value=“1”)
}
)
@GeneratedValue(generator=“mySequenceGenerator”)
私人长id;
那么@TableGenerator
在哪里呢?它在xml configuration.errm中,所以我添加了@Parameter(name=“schema”,value=“tb”)。那么@TableGenerator
在哪里呢?它在xml configuration.errm中,所以我添加了@Parameter(name=“schema”,value=“tb”)。同时在新序列生成器中设置id的最新值,改变序列tb.MY_序列重新启动;除此之外,我还添加了@Parameter(name=“schema”,value=“tb”)。同时在新序列生成器中设置id的最新值,改变序列tb.MY_序列重新启动;
<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>
<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">