0

在持久化到数据库时生成 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;

Ejb服务:

@Stateless
public class EjbService implements EjbServiceRemote {

@PersistenceContext(name = "Project1245")
private EntityManager em;


@Override
public void addTperson(Tperson tp) {
    em.persist(tp);

}

}
4

1 回答 1

0

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

于 2015-08-20T09:05:29.283 回答