Рубрики
Без рубрики

Ошибка гибернации – Для использования экземпляра конфигурации аннотации требуется

– Ошибка гибернации – Для использования экземпляра конфигурации аннотации требуется

Для создания фабрики сеансов требуется аннотация Hibernate “AnnotationConfiguration” вместо обычной “Конфигурации()”.

INFO: Configuration resource: /hibernate.cfg.xml
Initial SessionFactory creation failed.org.hibernate.MappingException: 
An AnnotationConfiguration instance is required to use 
Exception in thread "main" java.lang.ExceptionInInitializerError
	at com.mkyong.persistence.HibernateUtil.buildSessionFactory(HibernateUtil.java:19)
	at com.mkyong.persistence.HibernateUtil.(HibernateUtil.java:8)
	at com.mkyong.common.App.main(App.java:11)
Caused by: org.hibernate.MappingException: An AnnotationConfiguration instance is required to use 
	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

Вы можете скачать библиотеку с Официальный сайт Hibernate

Или

Добавьте зависимость в Maven pom.xml

        
	
		hibernate-annotations
		hibernate-annotations
		3.3.0.GA
	

P.S Возможно, вам потребуется включить репозиторий JBoss, чтобы загрузить библиотеку аннотаций Hibernate.


    
      JBoss repository
      http://repository.jboss.com/maven2/
    
  

2. Используйте конфигурацию аннотаций для создания фабрики сеансов

Обычное сопоставление XML-файлов в режиме гибернации выполняется с помощью конфигурации()

          return new Configuration().configure().buildSessionFactory();  

Для аннотации Hibernate вам необходимо изменить ее на “аннотацияконфигурация”.

          return new AnnotationConfiguration().configure().buildSessionFactory();  
Для аннотации Hibernate вам необходимо изменить ее на “аннотацияконфигурация”.

Полный пример”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();
    }

}

Оригинал: “https://mkyong.com/hibernate/hibernate-error-an-annotationconfiguration-instance-is-required-to-use/”