如何获取保存到数据库后的值
entityManager.persist
在调用 persist 之后,我能够从数据库获取主键值,而不是任何其他值。
例如。
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
坚持之后?
尝试使用数据库刷新实体以获取插入的触发器值。
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());
}
文档 http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#refresh%28java.lang.Object%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)