2014-11-10 3 views
0

Я пытаюсь следовать этому учебнику: https://www.youtube.com/playlist?list=PL4AFF701184976B25Как я могу исправить файл /hibernate.cfg.xml?

Я получил на видео пяти, ожидая увидеть в спящем режиме успешно добавив в свою базу данных MySQL, но я вместо того, чтобы получить эту ошибку. Ниже мой файл hibernate.cfg.xml.

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
Exception in thread "main" org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml 
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2246) 
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2158) 
    at org.hibernate.cfg.Configuration.configure(Configuration.java:2137) 
    at org.koushik.hibernate.HibernateTest.main(HibernateTest.java:15) 
Caused by: org.dom4j.DocumentException: Error on line 19 of document : Open quote is expected for attribute "{1}" associated with an element type "name". Nested exception: Open quote is expected for attribute "{1}" associated with an element type "name". 
    at org.dom4j.io.SAXReader.read(SAXReader.java:482) 
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2238) 
    ... 3 more 

<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD//EN" 
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
    <session-factory> 
    <!-- Database connection settings --> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.url">jdbc:mysql://localhost/hibernatedb</property> 
    <property name="connection.username">root</property> 
    <property name="connection.password">mysqlroot</property> 

    <property name="connection.pool_size">1</property> 

    <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 

    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 

    <property name=show_sql>true</property> 
    <property name="hbm2ddl.auto">create</property> 
    <mapping class="org.koushik.javabrains.dto.UserDetails" /> 
</session-factory> 
</hibernate-configuration> 

Что проблема может быть и как я могу идти о фиксации его? Я не могу сказать, не может ли он найти мой файл, или что-то в нем синтаксически неправильно.

Кроме того, я был бы очень признателен, если бы кто-нибудь мог указать мне на некоторые рабочие учебники Hibernate для Hibernate 4.3.7. Все, что я нашел до сих пор, представляет собой смесь сломанных/сильно устаревших материалов, которые требуют установки прошлых версий спящего режима, чтобы учиться.

Редактировать -------------------

я попытался проверить в Eclipse, и появляется эта ошибка в строке 8 говоря «Тип документа декларация корня тип элемента «hibernate-configuration» должен заканчиваться на «>». » Кроме того, эта строка является единственной строкой, в которой «соединение ...» не отображается синим цветом, а имя части имени свойства не отображается в фиолетовом. Оказывается как синтаксическая ошибка, но я не могу ее найти. enter image description here

Edit 2 ------------------ Вот мои два файла

UserDetails.java

package org.koushik.javabrains.dto; 

import javax.persistence.Entity; 
import javax.persistence.Id; 

@Entity 
public class UserDetails { 
    @Id 
    private int userId; 
    private String userName; 

    public int getUserId() { 
     return userId; 
    } 
    public void setUserId(int userId) { 
     this.userId = userId; 
    } 
    public String getUserName() { 
     return userName; 
    } 
    public void setUserName(String userName) { 
     this.userName = userName; 
    } 
} 

HibernateTest.java

package org.koushik.hibernate; 

import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration; 
import org.koushik.javabrains.dto.UserDetails; 

public class HibernateTest { 

    public static void main(String[] args) { 
     UserDetails user = new UserDetails(); 
     user.setUserId(1); 
     user.setUserName("First User"); 

     SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); 
     Session session = sessionFactory.openSession(); 
     session.beginTransaction(); 
     session.save(user); 
     session.getTransaction().commit(); 
    } 

} 

ответ

1

Попробуйте это:

<?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">com.mysql.jdbc.Driver</property> 
     <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernatedb</property> 
     <property name="hibernate.connection.username">root</property> 
     <property name="hibernate.connection.password">mysqlroot</property> 
     <property name="hibernate.connection.pool_size">1</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
     <property name="hibernate.hbm2ddl.auto">create</property> 
     <property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 
     <property name="show_sql">true</property> 
     <mapping class="org.koushik.javabrains.dto.UserDetails" /> 
    </session-factory> 
</hibernate-configuration> 
+0

получение одинаковой/аналогичной ошибки. Исключение документа: ошибка в строке 9 документа: объявление типа документа для типа корневого элемента «hibernate-configuration» должно заканчиваться на «>». – James

+0

Убедитесь, что ваш редактор не помещает никаких невидимых странных символов в конце каждой строки. – KKKCoder

+0

Использование eclipse IDE должно быть безопасным, не так ли? – James

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