我将 JPA 2.0 与 eclipselink 与 postgres DB 一起使用。
我想坚持新的实体类。主键是一个整数,没有空约束。
当我插入时,JPA 不知道新主键的值。
如何获取新的主键值?
我无法更改 DB sheme。
我考虑获取最大 ID 并向数据库中插入一个更大的 ID,但这是一种混乱的解决方案。
这是实体类中主键的定义,用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
}
}