1
私の目標は、エンティティからテーブルを生成する際に、EJBがシーケンスを生成することです。どうやってやるの?JPAでPostgreSQLを作成する方法は?
私はこれについて考えましたが、その場合は既存のシーケンスのみを使用します。 JPAによって生成されるシーケンスが必要です。これは不可能だと思いますか?
@Entity
@Table(name = "CUSTOMER")
@SequenceGenerator(name = "sb_sequence",sequenceName = "sb_sequence", initialValue=5420)
public class Customer extends EntityBase
{
private static final long serialVersionUID = 3456353535358L;
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sb_sequence")
@Column(name = "CUS_SEQUENCE")
private long cusSequence;
.
.
.
}
背景:私は、データベースへの最初の値を挿入する前に、私は最初のシーケンス番号取得する必要があります。
これは本当にそうです。つまり、オブジェクトがストアに永続化される前にオブジェクトのIDがどのようになるかを知りたい場合は、シーケンスの呼び出しを処理する必要があります。 'GenerationType.SEQUENCE'でオブジェクトを保存する前に' select nextval( 'sequence');を実行すると、実際には2つのシーケンス番号が生成されます。 [この関連する質問](http://stackoverflow.com/questions/3067986/calling-next-value-of-a-sequence-in-jpa)も参照してください。 – ig0774