2014-03-19 43 views
1

我越來越困惑於如何讓實體管理器工廠使用Spring彈簧datasource.xml
我做了以下內容:春實體管理器工廠使用JNDI

彈簧datasource.xml文件:

<tx:jta-transaction-manager id="transactionManager" /> 
<tx:annotation-driven mode="proxy" 
transaction-manager="transactionManager" /> 

<jee:jndi-lookup id="entityManagerFactory" jndi-name="jdbc/mysqldatasource" /> 

的persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" 
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_2_0.xsd"> 
<persistence-unit name="ebankingUnit" 
    transaction-type="JTA"> 
    <jta-data-source>jdbc/mysqldatasource</jta-data-source> 
    <class>com.datamodel.Product</class> 

    <properties> 
     <property name="eclipselink.logging.level" value="INFO" /> 
     <property name="eclipselink.query-results-cache.expiry" 
      value="5000" /> 
     <property name="eclipselink.ddl-generation" value="create-tables" /> 
     <property name="hibernate.hbm2ddl.auto" value="none" /> 
    </properties> 
</persistence-unit> 

但我得到thld

回答

0

您正在使用哪個版本的Spring?你甚至不需要最新版本的persistence.xml。

這裏是使用Spring 3.x的配置,用於oracle。

<tx:annotation-driven/> 

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
    <property name="entityManagerFactory" ref="entityManagerFactory" /> 
</bean> 

<!-- FactoryBean that creates the EntityManagerFactory --> 
<bean id="entityManagerFactory" 
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="jpaVendorAdapter"> 
     <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
      <property name="database" value="ORACLE" /> 
      <property name="showSql" value="false" /> 
     </bean> 
    </property> 
    <property name="packagesToScan" value="blah.com..domain" /> 
    <property name="jpaProperties"> 
     <props> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.format_sql">true</prop> 
     </props> 
    </property> 
    <property name="dataSource" ref="dataSource" /> 
</bean> 


<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="java:comp/env/myoracledb}" /> 
</bean> 

現在在你的web.xml

 <Resource name="myoracledb" auth="Container" 
     type="javax.sql.DataSource" 
     driverClassName="oracle.jdbc.OracleDriver" 
     maxActive="50" 
      url="your db url" 
      username="dbuser" password="dbpwd" /> 

問候定義myoracledb JNDI資源

+0

嗨感謝您的幫助,但我想使用JNDI從WebLogic數據源和JTA – raccio

+0

我不t認爲它有什麼區別,在weblogic中創建Jndi資源並在數據源中使用jndi名稱引用。 –

相關問題