Postgres DB で eclipselink を使用して JPA 2.0 を使用しています。
新しいエンティティ クラスを作成したい。主キーは Integer であり、null 制約はありません。
私が挿入するとき、JPAは新しい主キーの値を知りません。
新しい主キーの値を取得するにはどうすればよいですか?
DBスキームを変更できません。
最大IDを取得して、より大きなIDをDBに挿入することを考えていますが、それは面倒な解決策です。
これは、netBeans 7.0.1 で生成されたエンティティ クラスの主キーの定義です。 @Id @Basic(optional = false) @Column(name = "obj_id") private Integer ObjId;
public void save(){
TkTopoVerzio test= new TkTest();
// set all the value
// ....
try {
em.getTransaction().begin();
em.persist(test);
em.getTransaction().commit();
} catch(javax.persistence.NoResultException ex){
//Todo : manage exception
} catch (Exception ex){
// toDO : manage exception
}
}