不推荐使用的SequenceHiLoGenerator基于序列的id生成器;使用SequenceStyleGenerator代替

时间:2017-02-01 14:13:31

标签: java hibernate

我的应用程序正在记录

  

org.hibernate.orm.deprecation:HHH90000014:发现使用   不推荐使用[org.hibernate.id.SequenceHiLoGenerator]基于序列的id   发电机;使用org.hibernate.id.enhanced.SequenceStyleGenerator   代替。有关详细信息,请参阅“Hibernate域模型映射指南”。

关于解决问题的here有一个类似的问题,但我的问题是,是否可以替换序列生成器org.hibernate.id.SequenceHiLoGenerator 到org.hibernate.id.enhanced.SequenceStyleGenerator没有经过编写自定义@GenericGenerator的每个域类注释?像财产这样的东西也许......

我的代码有这样的内容:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="seq_name")
@SequenceGenerator(name="seq_name", sequenceName="hibernate_sequence")
private Long id;

谢谢。

1 个答案:

答案 0 :(得分:2)

您应该能够将with CTE as ( select Person_id, Address_Type_Name, Address_Info -- replace with your real column names from Address_Table where Address_Type_Name in ('Home','Mailing') ) select Person_id, Address_info from CTE a1 where Address_Type_Name = 'Home' and not exists (select 1 from CTE a2 where a2.Address_Type_Name = 'Mailing' and a2.Person_id = a1.Person_id) union select Person_id, Address_info from CTE a1 where Address_Type_Name = 'Mailing' 设置为hibernate.id.new_generator_mappings,这是Hibernate 5中的默认设置,并且应该禁用旧版行为并自动选择增强型生成器。