我正在使用Java,spring,jpa作为我们的应用程序。我想检索插入行的Id。基本上我们的ID是在将对象存储到数据库时生成的。
RoleRequest role = new RoleRequest();
roleRequest.setUser(user);
roleRequest.setRole(role);
roleRequest.setRequestDate(new Date());
roleRequest.setStatusCode(Enum.PENDING);
Dao.persist(roleRequest);
因此,在存储此对象后,我需要为此对象生成新的id,以便对其执行某些操作。
答案 0 :(得分:3)
Dao.persist(roleRequest);
在此行之后,应设置id,因此您可以执行
Long id = roleRequest.getId();
(假设id
为id列,Long
为id类型)
答案 1 :(得分:2)
怎么样:
oleRequest role = new RoleRequest();
roleRequest.setUser(user);
roleRequest.setRole(role);
roleRequest.setRequestDate(new Date());
roleRequest.setStatusCode(RoleRequestStatusEnum.PENDING);
Dao.persist(roleRequest);
int myId = roleRequest.getId();
您可能需要在EntityManager.flush()
(YMMV)后执行EntityManager.persist()
。