Ошибка конфигурации Hibernate (не удается найти объявление элемента 'hibernate-configuration') - PullRequest
4 голосов
/ 28 марта 2012

Я пытаюсь установить простое соединение с моей базой данных, используя hibernate.Вот мой файл конфигурации:

<?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.cfg.xml у меня есть «hibernate-configuration».

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

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

Ответы [ 3 ]

2 голосов
/ 28 марта 2012

Создайте фабрику сессий, используя следующую команду -

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/hibernate-dev@lists.jboss.org/msg06937.html

0 голосов
/ 14 мая 2016

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

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>
0 голосов
/ 02 декабря 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...