我正在尝试使用Spring Data实现自定义批量保存,但是当您使用@PersistenceContext注释时,我得到一个NullPointerException。 我有另一个扩展我的自定义存储库的存储库,如果我理解正确,它应该让我将EntityManager注入我的impl类。
自定义存储库:
public interface FRObjectRepositoryCustom {
void save(List<FRObject> list);
}
常规JPA存储库:
public interface FRObjectRepository extends JpaRepository<FRObject, FRObjectKey>, FRObjectRepositoryCustom {...}
我的实现类:
public class FRObjectRepositoryCustomImpl implements FRObjectRepositoryCustom {
@PersistenceContext
private EntityManager em;
@Override
public void save(List<FRObject> list) {
em.getTransaction().begin();
for (int i = 0; i < list.size(); i++) {
em.persist(list.get(i));
if (i % 50 == 0 && i > 0) {
em.flush();
em.clear();
}
}
em.getTransaction().commit();
}
}
有什么想法吗?