Hibernate 5: "org.hibernate.MappingException: 알 수 없는 엔터티" 오류 해결
문제:
Hibernate 5.0을 MySQL과 통합하려고 시도하는 동안 "org.hibernate.MappingException: 알 수 없는 엔터티" 오류가 발생했습니다. 이 오류는 Hibernate 버전 5.0.0 및 5.0.1에서는 발생하지만 Hibernate 4.3.9에서는 발생하지 않습니다.
원인:
이 문제는 SessionFactory가 Hibernate 5에서 생성되는 방식. 이전 버전의 Hibernate에서처럼 Configuration().buildSessionFactory(sr) 메소드를 사용하는 것은 매핑 정보를 버리기 때문에 더 이상 작동하지 않습니다.
해결책:
이 오류를 해결하려면 두 가지 접근 방식이 있습니다.
1. 단순화된 구성:
hibernate.cfg.xml 및 hibernate.properties와 같은 표준 구성 파일의 경우 ServiceRegistry를 사용하지 않고 SessionFactory를 생성할 수 있습니다:
<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
2. 속성 로드를 위해 StandardServiceRegistryBuilder 사용:
hibernate.properties 이외의 파일에 속성이 있는 경우 StandardServiceRegistryBuilder를 사용하여 해당 속성을 로드할 수 있습니다.
속성을 리소스로 로드:
<code class="java">ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties("hibernate-h2.properties").build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
파일 시스템 경로에서 속성 로드:
<code class="java">File propertiesPath = new File("some_path"); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). configure().loadProperties(propertiesPath).build(); SessionFactory sf = new Configuration().buildSessionFactory(serviceRegistry);</code>
추가 참고 사항:
위 내용은 Hibernate 5: \'org.hibernate.MappingException: Unknown Entity\' 오류가 발생하는 이유는 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!