Hibernate序列,使用特定的序列

时间:2013-04-25 11:57:52

标签: database oracle hibernate sequence sequences

今天我的DB负责老板告诉我,我在JPA / Hibernate中使用了错误的序列,但我并非如此,我检查了为什么我生成的表条目具有比生成的正常(触发器)更高的ID条目。
我发现This on SO对我来说很可怕,因为我在DB触发器中使用这个DB序列来生成条目。这意味着,据我所知。在50倍的时间内,我的数据库将开始查看我的Java应用程序生成的序列号。

为避免这种情况,我需要使用特定序列,而不是序列* 50。但是没有发现如何做到这一点,任何人都可以帮助我吗?

提前致谢

目前定义如下:

@Id
@Column(name = "PVP_COST_ELEMENTS_ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "wtStatSEQ")
@SequenceGenerator(name = "wtStatSEQ", sequenceName = "warehouse.wt_stat_SEQ")

1 个答案:

答案 0 :(得分:1)

在休眠中,您可以使用注释

明确指定使用的seq
@Id
@Column(name = "COLUMN_NAME", nullable = false)
@GeneratedValue(strategy = AUTO, generator = "yourEntitySeqGen")
@SequenceGenerator(name = "yourEntitySeqGen", sequenceName = "SEQUENCE_NAME_IN_YOUR_DATABASE")

欢呼声