2012-06-05 42 views
2

我有Java EE应用程序,并且我的EJB模块有persistence.xml持久性单元,不同的hibernate.transaction.manager_lookup_class属性

我在3个应用程序服务器上部署我的应用程序:JBoss,GlassFish和WebLogic,每个服务器都需要自己的hibernate.transaction.manager_lookup_class属性。
WL需要

<property name="transaction.manager_lookup_class" value="org.hibernate.transaction.WeblogicTransactionManagerLookup" /> 

JBoss的需要

<property name="transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" /> 

玻璃鱼

<property name="transaction.manager_lookup_class"  
value="org.hibernate.transaction.SunONETransactionManagerLookup" /> 

什么是做到这一点的最好方法是什么?

回答

4

解决办法是使用

<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.JTATransactionFactory"/> 

代替

<property name="transaction.manager_lookup_class"