Я пытаюсь ввести сессию спящего режима в DAO. DAO вводится в EJB 3.1 Faceless Bean с CDI.Включение сеанса спящего режима (не EntityManager) в DAO (с JEE6)
Я не хочу использовать EntityManager. Я предпочитаю сессию Hibernate напрямую. Но с помощью EJB сервер приложений (JBoss 7) пытается внедрить EntityManager, а не спящий сеанс.
И я получаю сообщение об ошибке при последующей DAO является создание:
Caused by: java.lang.IllegalArgumentException: Can not set org.hibernate.Session field com.mycompany.persistence.dao.RoleDAO.session to org.jboss.as.jpa.container.TransactionScopedEntityManager
Мои коды:
persistence.xml
<persistence>
<persistence-unit name="MyPU">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/MyDS</jta-data-source>
<class>com.mycompany.entity.MyEntity</class>
<class>com.mycompany.entity.OtherEntity</class>
<properties>
<property name="hibernate.show_sql" value="false" />
</properties>
</persistence-unit>
</persistence>
RoleBean.java (EJB-)
@Stateless
@Remote(RoleRemote.class)
public class RoleBean implements RoleRemote {
@Inject
private RoleDAO roleDAO;
}
RoleDAO.java
@Named
public class RoleDAO {
@PersistenceUnit(unitName = "MyPU")
private Session session;
}
И ошибка: Caused by: java.lang.IllegalArgumentException: Can not set org.hibernate.Session field com.mycompany.persistence.dao.RoleDAO.session to org.jboss.as.jpa.container.TransactionScopedEntityManager
Можно ли вводить в спящий режим Сессия (не Enti tyManager) в среде EJB?
Thanks