我在 DB 中有一个负序列(-1、-2、-3 等),我想用它来为我的实体生成 ID:
@Entity
@Table(name="FOO")
@SequenceGenerator(name="foo_seq", sequenceName="negative_seq", allocationSize=1)
public class Foo {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="foo_seq")
private Long id;
}
问题是使用它并在以下代码SequenceHiLoGenerator
中的方法中进入无限循环:generate
while ( value == null || value.lt( 0 ) ) {
value = super.generateHolder( session );
}
这是否意味着Hibernate不支持负序列?还是我做错了什么?我在 Hibernate 文档中没有找到关于使用负序列的任何提及。