我需要帮助才能持久进入oracle数据库

时间:2015-08-20 08:52:29

标签: oracle jpa sequence insert-id

在持久存入数据库时​​生成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);

}

}

1 个答案:

答案 0 :(得分:0)

0是long类型的默认值。在调用相关序列的select查询之后将设置id,这通常在您持久保存实体时执行。你坚持实体吗?如果是,请发布数据库序列定义以进行检查。