我使用的是Seam 2.2,Hibernate 4和JBOSS EAP 6.3。我收到了以下错误,
Caused by: javax.naming.NameNotFoundException: AmasterEntityManagerFactory -- service jboss.naming.context.java.jboss.AmasterEntityManagerFactory
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:103)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:197)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:174)
at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:243)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:183)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:179)
at javax.naming.InitialContext.lookup(InitialContext.java:411) [rt.jar:1.7.0_11]
at javax.naming.InitialContext.lookup(InitialContext.java:411) [rt.jar:1.7.0_11]
at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding(ManagedPersistenceContext.java:241) [jboss-seam-2.2.0.GA.jar:2.2.0.GA]
... 168 more
在我的 persistence.xml
中<property name="jboss.entity.manager.factory.jndi.name" value="java:jboss/AmasterEntityManagerFactory"/>
在 components.xml
中<persistence:managed-persistence-context name="entityManager"
auto-create="true"
persistence-unit-jndi-name="java:jboss/AmasterEntityManagerFactory"/>
之前有人遇到过这个问题吗?请提供您的建议。
答案 0 :(得分:1)
我已经解决了这个问题。
我在持久性中添加了persistence-unit-name而不是persistence-unit-jndi-name属性:entity-manager-factory 而不是persistence-unit-jndi-name属性添加了entity-manager-factory =“#{entityManagerFactory}”
<persistence:entity-manager-factory name="entityManagerFactory" persistence-unit-name="AccountMaster"/>
<persistence:managed-persistence-context name="entityManager"
auto-create="true" entity-manager-factory="#{entityManagerFactory}"/>
答案 1 :(得分:0)
Seam 2.2仅与hibernate 3兼容(我认为3.6)。 根据{{3}} Seam 2.3应该与hibernate 4兼容。
在我们的公司环境中,我们有大约10个接缝应用程序,它们也使用接缝持久性集成,并希望在JBoss EAP 6上使用它们。经过数周的迁移并遇到很多问题,我们决定摆脱seam并将应用程序迁移到JSF。