初始化EntityManager类对象,怎么做呢?

时间:2013-11-20 09:56:26

标签: java spring jpa

我和我一起关注抽象dao课程: 我使用find(Long primaryKey)方法获取数据。 喜欢

public abstract class AbstractDao<T> {
    static final Logger logger = Logger.getLogger(AbstractDao.class);

    @PersistenceContext
    private EntityManager entityManager;

    protected EntityManager getEntityManager() {
        return this.entityManager;
    }

    public T find(Long primaryKey) {
        //Here entityManager is null therefore I am getting null pointer exception
        return entityManager.find(entityClass,primaryKey);
    }
}        

请建议一些注意entityManager对象的技巧。

1 个答案:

答案 0 :(得分:0)

您可以从PersistenceContext删除EntityManager注释并创建下一个抽象方法

public abstract void setEntityManager(EntityManager entityManager);

通过这种方式,您可以将下一个方法放在主类

@PersistenceContext(unitName = "HERE YOU HAVE TO PUT NAME OF ENTITY MANAGER FACTORY")
public void setEntityManager(EntityManager entityManager) {
    this.entityManager = entityManager;
}

并且所有内容都有效;)我在我的所有者DAO中拥有它并且所有作品