Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.persistence.PersistenceException:[PersistenceUnit:vodPersistenceUnit]未找到类或包_Java_Spring_Hibernate - Fatal编程技术网

javax.persistence.PersistenceException:[PersistenceUnit:vodPersistenceUnit]未找到类或包

javax.persistence.PersistenceException:[PersistenceUnit:vodPersistenceUnit]未找到类或包,java,spring,hibernate,Java,Spring,Hibernate,我得到了以下错误: 创建名为的bean时出错 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' 在类路径资源[jpaDaoContext.xml]中定义:初始化 bean失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 正在创建在类中定义了名为“VodenityManagerFactory”的b

我得到了以下错误:

创建名为的bean时出错 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' 在类路径资源[jpaDaoContext.xml]中定义:初始化 bean失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 正在创建在类中定义了名为“VodenityManagerFactory”的bean 路径资源[jpaDaoContext.xml]:调用init方法失败; 嵌套异常为javax.persistence.PersistenceException: 未找到[PersistenceUnit:vodPersistenceUnit]类或包

我看了一下谷歌,然后被告知选择transaction type=RESOURCE\u LOCAL,但设置已经是这样了。这些设置有什么问题:

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

    <!-- transaction-type is RESOURCE_LOCAL or JTA -->
    <persistence-unit name="vodPersistenceUnit"
        transaction-type="RESOURCE_LOCAL">

        <class>mypackage.persistent.HistoriqueAction</class>
        <class>mypackage.persistent.ParametresTechniques</class>
        <class>mypackage.persistent.TicketType</class>
        <class>mypackage.persistent.TransactionType</class>
        <class>mypackage.persistent.StatutSession</class>
        <class>mypackage.persistent.Statistique</class>
        <class>mypackage.persistent.StatUser</class>

        <!-- Avoid to scan *.class and *.hbm.xml -->
        <exclude-unlisted-classes />


    </persistence-unit>

</persistence>

mypackage.persistent.HistoryQueAction
mypackage.persistent.ParametresTechniques
mypackage.persistent.TicketType
mypackage.persistent.TransactionType
mypackage.persistent.StatutSession
mypackage.persistent.Statistique
mypackage.persistent.StatUser

如果您没有这样做,请将
作为EntityManagerFactorybean定义的属性放入jpaDaoContext.xml中,如:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  <property name="persistenceUnitName" value="vodPersistenceUnit" />
  <property name="dataSource" ref="dataSource" />
  <property name="jpaVendorAdapter">...</property>
</bean>

...

我解决了这个问题。我必须对文件“persistence.xml”中的这三行进行注释:



目前我不知道为什么它能解决这个问题。调试这个spring文件真的很困难。

如果必须注释掉“class”元素,很可能其中一个类没有定义,或者在类路径中不可用


我面临着同样的错误,一旦完全限定的名称都正确,问题就解决了。理想情况下,Hibernate应该告诉您找不到哪个类,但遗憾的是,在这种情况下它没有这样做。

我在WebLogic 12.1.3中尝试运行Spring启动应用程序时遇到了此异常。在依赖关系树中,我发现Spring tx包含在一个公共项目库中。我们的特定应用程序只调用web服务,因此不需要访问数据库。因此,在库依赖项中,我添加了:

<exclusions><exclusion> <groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></exclusion></exclusions>
org.springframeworkspring-tx

谢谢您的回复。问题依旧。jpaDaoCOntext.xml包含以下`org.hibernate.ejb.HibernatePersistence类路径:META-INF/persistence-batch.xml`
<exclusions><exclusion> <groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></exclusion></exclusions>