【发布时间】:2015-08-18 08:05:03
【问题描述】:
例子:
我有三个表:位置、部门、员工
现在让我们说位置和部门是已经拥有完整数据的主表。 现在我需要通过 JPA 插入 1000 个员工列表。 我也与 Employee Table 中的 Location 和部门有关系。
所以现在在 Employee 中插入条目,按照我正在做的:
for loop...1000
Employee e = new Employee();
e.setId(12);
e.setEmpname("ABC");
Location l = null;
l = em.find(Location.class, 234);
e.setLocation(l);
Department d = null;
d = em.find(Department.class, 111);
e.setDepartment(d);
em.persist(e);
loop ends...
将数据加载到数据库需要一些时间。它是通过 JPA 插入数据的唯一方法吗,因为它会降低性能。 我不想使用本机查询。 请建议是否有人有更好的方法来提高效率。
【问题讨论】:
-
在 x 次持久化之间进行刷新和清除。否则它会因为脏检查而变得越来越慢。
标签: java orm jpa-2.0 batch-processing