Невозможно построить EntityManagerFactory - PullRequest
4 голосов
/ 21 января 2011

файл persistence.xml

<?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

Может ли кто-нибудь сказать мне ошибку

Ответы [ 3 ]

8 голосов
/ 21 января 2011

Основная проблема заключалась в том, что объекты не генерировались должным образом.поэтому в конце трассировки стека это выдает эту ошибку

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

, как только объект был сгенерирован правильно, проблема была решена

1 голос
/ 21 января 2011

Кто-то ответил здесь :

Если вы определите свой постоянный блок с типом транзакции JTA, вы Также необходимо определить ваш источник данных внутри jta-data-source атрибут.

Попробуйте добавить это к вашему ApplicationContext.xml

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

и следующий элемент <persistence-unit> в persistence.xml:

<jta-data-source>your-jndi-name</jta-data-source>
0 голосов
/ 12 апреля 2013

Вы получаете эту ошибку, потому что вы указали тип данных вашего доменного объекта как java.lang.Objectсопоставьте его более конкретному, например, String, int, long ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...