Ric*_*cha 6 java hibernate jpa
当我们在Hibernate中保存一个对象时,我们将依赖对象保存为id而不是加载该对象并保存它.
例如:员工有一个部门外键,所以如果我们需要保存员工对象,那么我们将执行以下操作:
saveEmployee{
emp.setName(name);
Department department = session.find(Department.class,deptid);
emp.setDepartment(department);
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我们导入1000条记录,并且我们在excel中将deptid作为单独的列,那么将调用不必要的1000倍db来获取相应的部门.
有没有更好的方法 可以在没有对象到对象映射的情况下强制执行外键?
使用该load
方法代替find
:
Department department = session.load(Department.class,deptid);
Run Code Online (Sandbox Code Playgroud)
持久性提供程序只会在此时创建一个代理,并假设该实体物理存在于数据库中(如果不存在需要记住的实体,则会出现错误)。
假设您的所有操作都使用一种事务方法,您将获得 N 次插入而无需任何选择。
归档时间: |
|
查看次数: |
536 次 |
最近记录: |