복붙노트

[SPRING] javax.persistence.PersistenceException : [PersistenceUnit : vodPersistenceUnit] 클래스 또는 패키지를 찾을 수 없습니다.

SPRING

javax.persistence.PersistenceException : [PersistenceUnit : vodPersistenceUnit] 클래스 또는 패키지를 찾을 수 없습니다.

다음과 같은 오류가 발생했습니다.

나는 Google에서 한 번 보았고 나는 transaction-type = RESOURCE_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>

문안 인사

해결법

  1. ==============================

    1.문제가 해결되었습니다. 나는이 세 줄을 "persistence.xml"파일에서 주석 처리해야했다.

    문제가 해결되었습니다. 나는이 세 줄을 "persistence.xml"파일에서 주석 처리해야했다.

       <!--class>mypackage.persistent.TicketType</class>
        <class>mypackage.persistent.TransactionType</class>
        <class>mypackage.persistent.StatutSession</class--> 
    

    잠시 동안 나는 왜 그것이 문제를 해결하는지 전혀 모른다. 이 스프링 파일을 디버그하는 것은 정말로 어렵습니다.

  2. ==============================

    2."class"요소를 주석 처리해야한다면, 그 클래스 중 하나가 정의되지 않았거나 클래스 경로에서 사용 가능하지 않을 수 있습니다.

    "class"요소를 주석 처리해야한다면, 그 클래스 중 하나가 정의되지 않았거나 클래스 경로에서 사용 가능하지 않을 수 있습니다.

    나는 똑같은 정확한 오류에 직면했고, 완전한 자격을 갖춘 이름이 모두 정확하면 해결되었다. 이상적으로, Hibernate는 어떤 클래스가 발견되지 않았는지 말해야하지만, 슬프게도이 경우에는하지 않는다.

  3. ==============================

    3.JpaDaoContext.xml에 다음과 같이 entityManagerFactory bean 정의의 속성으로 를 넣으십시오.

    JpaDaoContext.xml에 다음과 같이 entityManagerFactory bean 정의의 속성으로 를 넣으십시오.

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

    4.WebLogic 12.1.3에서 Spring Boot 응용 프로그램을 실행하려고 할 때이 예외가 발생했습니다. 종속성 트리에서 spring-tx가 일반적인 프로젝트 라이브러리 중 하나에서 포함된다는 것을 알았습니다. Google의 특정 앱은 웹 서비스 만 호출하므로 데이터베이스에 액세스 할 필요가 없습니다. 그래서 라이브러리 의존성에 나는 다음과 같이 덧붙였다.

    WebLogic 12.1.3에서 Spring Boot 응용 프로그램을 실행하려고 할 때이 예외가 발생했습니다. 종속성 트리에서 spring-tx가 일반적인 프로젝트 라이브러리 중 하나에서 포함된다는 것을 알았습니다. Google의 특정 앱은 웹 서비스 만 호출하므로 데이터베이스에 액세스 할 필요가 없습니다. 그래서 라이브러리 의존성에 나는 다음과 같이 덧붙였다.

    <exclusions><exclusion> <groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></exclusion></exclusions>
    
  5. from https://stackoverflow.com/questions/18054170/javax-persistence-persistenceexception-persistenceunit-vodpersistenceunit-c by cc-by-sa and MIT license