如何获取
之后保存到数据库的值entityManager.persist
我可以在调用persist而不是任何其他值后从数据库中获取主键值。 E.g。
public void create(Project project) {
entityManager.persist(project);
System.out.println("Id -- " + project.getProjectId());
System.out.println("no -- " + project.getProjectNo());
}
从上面的代码我可以从project.getProjectId
获取新插入的值,但无法获取project.getProjectNo
我能够获得projectId
的原因是因为它是主键吗?
如何在保留后获取getProjectNo
的值?
答案 0 :(得分:5)
尝试使用数据库刷新实体以获取插入的触发器值。
public void create(Project project) {
entityManager.persist(project);
entityManager.getTransaction().commit();
project = entityManager.find(Project.class, project.getProjectId());
entityManager.refresh(project);
System.out.println("Id -- " + project.getProjectId());
System.out.println("no -- " + project.getProjectNo());
}