Hibernate 5: MappingException: Unknown Entity
Hibernate 5에서 org.hibernate.MappingException: Unknown 엔터티 오류는 다음을 시도할 때 발생할 수 있습니다. MySQL과 통합합니다. 이 문제는 Hibernate 버전 5.0.0 및 5.0.1에만 해당되며 후속 버전에서 해결되었습니다.
原因
이 오류는 Hibernate 5의 변경으로 인해 발생합니다. 행동. 이전 버전에서는 ServiceRegistry를 구축한 후에도 구성 정보가 구성 내에 유지되었습니다. 그러나 Hibernate 5에서는 Configuration.buildSessionFactory(sr)가 호출될 때 Configuration이 이 정보를 잃습니다.
修复
1. 표준 구성 파일:
표준 hibernate.cfg.xml 및 hibernate.properties 파일을 사용하는 경우 세션 팩토리를 직접 생성합니다:
<code class="java">SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();</code>
2. 속성 로드:
속성이 다른 파일에 저장된 경우 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>
3. Fluent Hibernate 유틸리티 사용:
이 접근 방식을 사용하는 전체 예를 보려면 GitHub의 fluent-hibernate-mysql 프로젝트를 참조하세요.
4. 잘못된 Hibernate 5 튜토리얼 권장 사항 방지:
Hibernate 5 튜토리얼에 제공된 잘못된 코드 조각:
<code class="java">return new Configuration().configure().buildSessionFactory( new StandardServiceRegistryBuilder().build() );</code>
올바른 구성을 수행하지 않으므로 피해야 합니다.
위 내용은 MySQL과 통합할 때 Hibernate 5에서 'MappingException: Unknown Entity'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!