2015-10-20 2 views
0

У меня возникли проблемы при загрузке файла отображения из файла hibernate.cfg.xmlЗагрузка отображение файла гибернации 4

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
             "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
<session-factory> 
    <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property> 
    <property name="hibernate.connection.url">jdbc:hsqldb:hsql://localhost</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property> 
    <property name="hibernate.hbm2ddl.auto">create-drop</property> 
    <mapping resource="User.hbm.xml"/> 
</session-factory> 
</hibernate-configuration> 

Файл отображения не получает загруженной в SessionFactory

Exception в теме "главный" org.hibernate.MappingException: Неизвестный лицо: com.test.dto.User

но если я добавить отображение Manua LLY в Configuration Например:

static { 
     Configuration config = new Configuration().configure().addResource("User.hbm.xml"); 

     ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build(); 
     sessionFactory = config.buildSessionFactory(registry); 

    } 

отображение работает правильно ..., любые предложения ??

ответ

2

Похоже, что проблема такая же, как у here. Вы не можете смешивать конфигурации с new Configuration().configure() и config.buildSessionFactory(registry). Вы должны выполнить всю конфигурацию с помощью StandardServiceRegistryBuilder. Что-то вроде этого

ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder(). 
    configure().build(); 
SessionFactory sessionFactory= new Configuration().buildSessionFactory(serviceRegistry);  
+0

Это сработало! : D – DGomez

+0

@DGomez Я очень рад :) –

Смежные вопросы