使用EntityManager时出现NullPointerException

时间:2017-07-09 09:01:29

标签: java spring jpa spring-data

我正在尝试使用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();
    }
}

有什么想法吗?

0 个答案:

没有答案