Web services Hibernate-4.3.4和Websphere EmbeddedContainer-8.5.0

Web services Hibernate-4.3.4和Websphere EmbeddedContainer-8.5.0,web-services,hibernate,jpa,websphere,Web Services,Hibernate,Jpa,Websphere,是否知道Hibernate-4.3.4与WebSphereEmbeddedContainer-8.5.0配合使用 我得到以下异常 org.hibernate.engine.jndi.JndiException: Unable to lookup JNDI name [java:comp/websphere/ExtendedJTATransaction] at org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServ

是否知道Hibernate-4.3.4与WebSphereEmbeddedContainer-8.5.0配合使用

我得到以下异常

org.hibernate.engine.jndi.JndiException: Unable to lookup JNDI name [java:comp/websphere/ExtendedJTATransaction]
   at org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:117)
   at org.hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJtaPlatform$TransactionManagerAdapter$TransactionAdapter.<init>(WebSphereExtendedJtaPlatform.java:155)
   at org.hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJtaPlatform$TransactionManagerAdapter$TransactionAdapter.<init>(WebSphereExtendedJtaPlatform.java:151)
   at org.hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJtaPlatform$TransactionManagerAdapter.getTransaction(WebSphereExtendedJtaPlatform.java:123)
   at org.hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJtaPlatform$TransactionManagerAdapter.getStatus(WebSphereExtendedJtaPlatform.java:118)
   at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:76)
   at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:118)
   at org.hibernate.engine.transaction.jta.platform.internal.TransactionManagerBasedSynchronizationStrategy.canRegisterSynchronization(TransactionManagerBasedSynchronizationStrategy.java:56)
   at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.canRegisterSynchronization(AbstractJtaPlatform.java:148)
   at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.attemptToRegisterJtaSync(TransactionCoordinatorImpl.java:252)
   at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.pulse(TransactionCoordinatorImpl.java:289)
   at org.hibernate.jpa.spi.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1584)
   at org.hibernate.jpa.spi.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:210)
   at org.hibernate.jpa.internal.EntityManagerImpl.<init>(EntityManagerImpl.java:91)
   at org.hibernate.jpa.internal.EntityManagerFactoryImpl.internalCreateEntityManager(EntityManagerFactoryImpl.java:345)
   at org.hibernate.jpa.internal.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:332)
   at com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.java:170)
   at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATxEntityManager.java:259)
   at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATxEntityManager.java:191)
   at com.ibm.ws.jpa.management.JPAEntityManager.createQuery(JPAEntityManager.java:299)
Caused by: javax.naming.NameNotFoundException: Name "comp/websphere/ExtendedJTATransaction" not found in context "java:".
   at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1228)
   at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:1141)
   at com.ibm.ws.naming.urlbase.UrlContextImpl.lookupExt(UrlContextImpl.java:1436)
   at com.ibm.ws.naming.java.javaURLContextImpl.lookupExt(javaURLContextImpl.java:477)
   at com.ibm.ws.naming.java.javaURLContextRoot.lookupExt(javaURLContextRoot.java:485)
   at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:396)
   at javax.naming.InitialContext.lookup(InitialContext.java:415)
   at org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:114)
org.hibernate.engine.jndi.jndie异常:无法查找jndi名称[java:comp/websphere/extendedjttransaction]
位于org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:117)
位于org.hibernate.engine.transaction.jta.platform.internal.websphereextendedjttapform$TransactionManagerAdapter$TransactionAdapter。(websphereextendedjttaplatform.java:155)
位于org.hibernate.engine.transaction.jta.platform.internal.websphereextendedjttapform$TransactionManagerAdapter$TransactionAdapter。(websphereextendedjttaplatform.java:151)
在org.hibernate.engine.transaction.jta.platform.internal.websphereextendedjttapform$TransactionManagerAdapter.getTransaction(websphereextendedjttaplatform.java:123)
位于org.hibernate.engine.transaction.jta.platform.internal.websphereextendedjttapform$TransactionManagerAdapter.getStatus(websphereextendedjttaplatform.java:118)
位于org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:76)
位于org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:118)
位于org.hibernate.engine.transaction.jta.platform.internal.TransactionManagerBasedSynchronizationStrategy.canRegisterSynchronization(TransactionManagerBasedSynchronizationStrategy.java:56)
位于org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.canRegisterSynchronization(AbstractJtaPlatform.java:148)
位于org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.attemptToRegisterJtaSync(TransactionCoordinatorImpl.java:252)
位于org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.pulse(TransactionCoordinatorImpl.java:289)
位于org.hibernate.jpa.spi.AbstractEntityManagerImpl.Jointransation(AbstractEntityManagerImpl.java:1584)
位于org.hibernate.jpa.spi.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:210)
位于org.hibernate.jpa.internal.EntityManagerImpl.(EntityManagerImpl.java:91)
位于org.hibernate.jpa.internal.EntityManagerFactoryImpl.internalCreateEntityManager(EntityManagerFactoryImpl.java:345)
位于org.hibernate.jpa.internal.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:332)
位于com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.java:170)
位于com.ibm.ws.jpa.management.JPATxEntityManager.getEminationInfo(JPATxEntityManager.java:259)
位于com.ibm.ws.jpa.management.JPATxEntityManager.getEminationInfo(JPATxEntityManager.java:191)
位于com.ibm.ws.jpa.management.JPAEntityManager.createQuery(JPAEntityManager.java:299)
原因:javax.naming.NameNotFoundException:在上下文“java:”中找不到名称“comp/websphere/ExtendedJTATransaction”。
位于com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1228)
位于com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:1141)
位于com.ibm.ws.naming.urlbase.UrlContextImpl.lookupExt(UrlContextImpl.java:1436)
位于com.ibm.ws.naming.java.javaURLContextImpl.lookupExt(javaURLContextImpl.java:477)
位于com.ibm.ws.naming.java.javaURLContextRoot.lookupExt(javaURLContextRoot.java:485)
位于com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:396)
在javax.naming.InitialContext.lookup(InitialContext.java:415)
位于org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:114)
我的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>my-ds</jta-data-source>
      <non-jta-data-source>my-ds</non-jta-data-source>
      <exclude-unlisted-classes>false</exclude-unlisted-classes>
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect" />
         <!-- CMT -->
         <property name="hibernate.transaction.factory_class"
            value="org.hibernate.transaction.CMTTransactionFactory" />
         <property name="hibernate.transaction.manager_lookup_class"
            value="org.hibernate.transaction.WebSphereTransactionManagerLookup" />
         <property name="hibernate.transaction.jta.platform"
            value="org.hibernate.service.jta.platform.internal.WebSphereExtendedJtaPlatform" />

      </properties>
   </persistence-unit>
</persistence>

org.hibernate.ejb.HibernatePersistence
我的ds
我的ds
错误的
我是否缺少其他配置


提前感谢

请参阅:您是否在WebSphere管理控制台中定义了JDBC数据源my ds?因为您的jta数据源属性指向JNDI名称为my ds的数据源。