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のドキュメントには何の言及も見つかりませんでした。