在持久存入数据库时生成id存在问题。 我将以下代码添加到我的jpa实体文件中,但是对于personid我得到0。
@Id
@Column(unique=true, nullable=false, precision=10, name="PERSONID")
@SequenceGenerator(name="appUsersSeq", sequenceName="SEQ_PERSON", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "appUsersSeq")
private long personid;
EjbService:
@Stateless
public class EjbService implements EjbServiceRemote {
@PersistenceContext(name = "Project1245")
private EntityManager em;
@Override
public void addTperson(Tperson tp) {
em.persist(tp);
}
}
答案 0 :(得分:0)
0是long
类型的默认值。在调用相关序列的select查询之后将设置id,这通常在您持久保存实体时执行。你坚持实体吗?如果是,请发布数据库序列定义以进行检查。