2011-01-21 119 views
4

persistence.xml文件無法建立的EntityManagerFactory

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.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_1_0.xsd"> 

<persistence-unit name="xyz" transaction-type="JTA"> 

    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <class>com......</class> 
</persistence-unit> 

</persistence> 

的applicationContext.xml

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

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> 
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE" /> 
    <property name="username" value="yyy" /> 
    <property name="password" value="yyy" /> 
</bean> 

<bean id="entityManagerFactory" 
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="persistenceUnitName" value="xyz" /> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="jpaVendorAdapter"> 
     <bean 
      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
      <property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" /> 
      <property name="showSql" value="true" /> 
      <!-- <property name="generateDdl" value="true" /> --> 
     </bean> 
    </property> 
</bean> 

<bean id="theDao" class="com.cin.the.dataaccess.dao.the.TheJPA"> 
    <property name="entityManagerFactory" ref="entityManagerFactory"></property> 
</bean> 

錯誤我得到的是

[PersistenceUnit: xyz] Unable to build EntityManagerFactory 

任何一個可以告訴我錯誤

+1

必須有更多的錯誤 - 例如堆棧跟蹤。 – Bozho

回答

8

的主要問題是,entites的不正確生成。因此在堆棧跟蹤結束它給這個錯誤

Caused by: org.hibernate.MappingException: property mapping has wrong number of columns: com......date type: object 

一旦實體生成正確的問題解決了

1

Someone answered here

如果使用JTA事務類型定義持久化單元,你需要 也來定義的JTA數據源中的數據源 屬性。

嘗試添加以下內容到ApplicationContext.xml

<jee:jndi-lookup id="dataSource" jndi-name="your-jndi-name" /> 

persistence.xml以下到<persistence-unit>元素:

<jta-data-source>your-jndi-name</jta-data-source> 
+1

我沒有使用jndi連接..我將ApplicationContext.xml中的連接配置設置作爲dataSource –

0

,因爲你已經映射你的域對象數據類型爲Java您收到此錯誤。 lang.Object。將其映射到更具體的像String,int,long ...

相關問題