2012-03-27 3 views
4

Я пытаюсь установить простую связь с моей базой данных с помощью спящего режима. Вот мой конфигурационный файл:Ошибка конфигурации гибернации (не удается найти объявление элемента «hibernate-configuration»)

<?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> 
    <!-- Database connection settings --> 
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property> 
<property name="connection.url">jdbc:hsqldb:hsql://localhost</property> 
<property name="connection.username">user</property> 
<property name="connection.password">pass</property> 

<!-- JDBC connection pool (use the built-in) --> 
<property name="connection.pool_size">1</property> 

<!-- SQL dialect --> 
<property name="dialect">org.hibernate.dialect.HSQLDialect</property> 

<!-- Enable Hibernate's automatic session context management --> 
<property name="current_session_context_class">thread</property> 

<!-- Disable the second-level cache --> 
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> 

<!-- Echo all executed SQL to stdout --> 
<property name="show_sql">true</property> 

<!-- Drop and re-create the database schema on startup --> 
<property name="hbm2ddl.auto">update</property> 
<mapping resource="com/mycomp/pro/model/elem/elem.hbm.xml"/> 
</session-factory> 
</hibernate-configuration> 

Я получаю следующее сообщение об ошибке:

Exception in thread "main" org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 6 and column 26 in RESOURCE hibernate.cfg.xml. Message: cvc-elt.1: Cannot find the declaration of element 'hibernate-configuration'. 
... 

кажется, немного нелогично. Поскольку у меня есть «hibernate-configuration» в качестве корневого элемента в файле hibernate.cfg.xml.

Я использую Hibernate 4.1.1 (только упомянуть, так как я получил некоторые намеки, что новый спящий режим, возможно, есть некоторые проблемы)

Надеюсь кто-то может помочь, так как я новичок в спящий режим и право теперь я тоже не получаю никакой помощи от Google.

ответ

2

Построить завод Session с помощью следующей команды -

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

Что касается Hibernate.cfg вы можете попробовать ниже заголовок.

<hibernate-configuration 
xmlns="http://www.hibernate.org/xsd/hibernate-configuration" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-configuration 
https://github.com/hibernate/hibernate-orm/raw/master/hibernate-core/src/main/resources/org/hibernate/hibernate-configuration-4.0.xsd"> 

В настоящее время Hibernate 4.1, похоже, страдает от ошибок (не уверен в стабильности). Я нашел решение в списке рассылки, чтобы проверить это. Надеюсь это поможет.

http://www.mail-archive.com/[email protected]/msg06937.html

0

Создать сессионную фабрику как новую AnnotationConfiguration(). configure(). buildSessionFactory(); Надеемся, что это поможет вам построить соединение ...

0

Попробуйте этот код.

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); 
    Session session = sessionFactory.openSession(); 
    session.beginTransaction(); 

Добавить заголовок в файл XML, как

<?xml version='1.0' encoding='utf-8'?> 
    <!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

    <hibernate-configuration> 
     -------- 
    <hibernate-configuration> 
Смежные вопросы