Я получаю NPE для своего EntityManager и не могу понять, почему - может ли кто-нибудь определить мою ошибку?EntityManager не вводится
UserManagerImpl.java
@Stateless
public class UserManagerImpl implements UserManager {
@PersistenceContext(unitName = "persistenceUnit")
EntityManager em;
public List<User> findUsers() {
return (List<User>) em.createQuery("from User").getResultList();
}
}
META-INF/persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="persistenceUnit">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
</persistence>
Это в моем банке проекта EJB, то UserManagerImpl вызывается из JSP, не уверен, что должен сделать разница.
Заранее спасибо.
На каком сервере вы работаете? – nos
Вы используете JBoss? С HSQLDB? Что вы получаете в журналах сервера? –
JBoss с HSQLDB не может видеть ничего значимого в журнале сервера. Я подозреваю, что это связано с тем, что я ссылаюсь на UserManager из моего JSP, используя новый UserManagerImpl(), но я не уверен, как его вводить в управляемый компонент, если это так, используя аннотацию. Не уверен, что это так или иначе. – rich