【发布时间】:2012-07-22 16:11:51
【问题描述】:
我使用带有 eclipselink 和 postgres DB 的 JPA 2.0。
我想创建新的实体类。主键是一个整数,没有空约束。
当 i 插入时,JPA 不知道新主键的值。
如何获取新的主键值?
我无法更改 DB sheme。
我考虑获取最大 ID 并向数据库中插入一个更大的 ID,但这是一种混乱的解决方案。
这是实体类中主键的定义,用netBeans 7.0.1生成: @ID @基本(可选=假) @Column(name = "obj_id") 私有整数 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
}
}
【问题讨论】:
标签: jpa-2.0 eclipselink postgresql-9.1