每次我需要获取Dept
时,都在下面的代码中通过传递对象 deptId
在createUser()
当我持久化 Emp 时,我不想访问数据库。我希望像 JDBC 一样只传递 id 而不是对象。每次从数据库获取都会影响性能。我该怎么做?
public class Emp {
Integer eid;
String ename;
long sal;
Dept dept;
public void createUser(Integer eid,String ename,long sal,Integer deptId) {
Dept dept = em.find(Dept.class,deptId);
Emp emp = new Emp();
emp.setEid(101);
emp.setEname("Smith");
emp.setSal(100000);
emp.setDept(dept); // here Dept object required
em.persist(emp);
}
}
public class Dept {
Integer deptid;
String deptname;
}
最佳答案
阅读API doc for EntityManager ...
- getReference() - 如果您只需要它作为引用(可能会根据文档延迟获取实例)
- find() - 如果您也想使用它的属性
关于java - em.persist() JPA 中需要父实体对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835057/