我和我一起关注抽象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
对象的技巧。
答案 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
中拥有它并且所有作品