休止状態のエラー – AnnotationConfigurationインスタンスが使用する必要があります
Hibernateアノテーションは、セッションファクトリを構築するために通常の “Configuration()”の代わりに “AnnotationConfiguration”が必要です。
INFO: Configuration resource:/hibernate.cfg.xml Initial SessionFactory creation failed.org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.mkyong.common.Stock"/> Exception in thread "main" java.lang.ExceptionInInitializerError at com.mkyong.persistence.HibernateUtil.buildSessionFactory(HibernateUtil.java:19) at com.mkyong.persistence.HibernateUtil.<clinit>(HibernateUtil.java:8) at com.mkyong.common.App.main(App.java:11) Caused by: org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.mkyong.common.Stock"/> at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1600) at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508) at org.hibernate.cfg.Configuration.configure(Configuration.java:1428) at org.hibernate.cfg.Configuration.configure(Configuration.java:1414) at com.mkyong.persistence.HibernateUtil.buildSessionFactory(HibernateUtil.java:13) ... 2 more
解決策
1. Hibernateアノテーションライブラリをダウンロードする
ライブラリはhttps://www.hibernate.org/397.html[Hibernate official website]からダウンロードできます。
または
Mavenのpom.xmlに依存関係を追加する
<!-- Hibernate annotation --> <dependency> <groupId>hibernate-annotations</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.3.0.GA</version> </dependency>
P。Hibernateアノテーションライブラリをダウンロードするには、JBossリポジトリをインクルードする必要があります。
<repositories> <repository> <id>JBoss repository</id> <url>http://repository.jboss.com/maven2/</url> </repository> </repositories>
2. AnnotationConfigurationを使用してセッションファクトリを構築する
通常のHibernate XMLファイルマッピングはConfiguration()を使用しています
return new Configuration().configure().buildSessionFactory();
Hibernateアノテーションの場合、それを “AnnotationConfiguration”に変更する必要があります。
return new AnnotationConfiguration().configure().buildSessionFactory();
HibernateUtil.java
Hibernate注釈の適用のために “AnnotationConfiguration”を使用する “HibernateUtil.java”の完全な例。
package com.mkyong.persistence; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { //Create the SessionFactory from hibernate.cfg.xml return new AnnotationConfiguration().configure().buildSessionFactory(); } catch (Throwable ex) { //Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } public static void shutdown() { //Close caches and connection pools getSessionFactory().close(); } }