次のように、PostgreSQLシーケンスを(注釈を介して)使用して主キーID列の値を生成するようにHibernateを構成しました。
@Id
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
return this.id;
}
この構成で私が見ているのは、hibernateが永続化時にすでに3000を超えるID値を割り当てているのに対し、使用されているシーケンスのクエリは次のことを示しています。
database=# select last_value from entity_id_seq;
last_value
------------
69
(1行)
質問:
何か問題がありますか?
休止状態はシーケンステーブルと同期する必要がありますか?
そうでない場合は、最後に生成されたIDをどこに保存しますか?
ありがとうございました。