需要帮助来运行一个hibernate项目

时间:2015-04-01 07:30:16

标签: java xml hibernate postgresql

我对hibernate很新,我正在努力工作几个小时。我没有编写代码,我只想启动它。我甚至不知道从哪里开始解释。首先,我将发布一张带有项目结构的图片 enter image description here

我没有导入项目,我创建了一个新项目并复制了所有代码。我已经为hibernate添加了罐子。我使用postgresql,初始项目使用sqlserver。我修改了hibernate.cfg.xmlBook.hbm.xml文件,我想我会在这里发布这些文件,但是我收到了一些错误:

**strong text**Exception in thread "AWT-EventQueue-0" org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1491)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
    at service.BookService.<init>(BookService.java:16)
    at controller.BookManager.<init>(BookManager.java:18)
    at views.Library.<init>(Library.java:24)
    at Start.createAndShowGUI(Start.java:15)
    at Start$1.run(Start.java:29)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: org.dom4j.DocumentException: Connection reset Nested exception: Connection reset
    at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1481)
    ... 21 more

初始hibernate.cfg.xml档案:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.connection.driver_class">
            com.mysql.jdbc.Driver
        </property>

        <!-- Assume test is the database name -->
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost/lab1_aop
        </property>
        <property name="hibernate.connection.username">
            root
        </property>
        <property name="hibernate.connection.password">
            root
        </property>

        <!-- List of XML mapping files -->
        <mapping resource="Book.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

我的hibernate.cfg.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>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.username">postgres</property>
        <property name="hibernate.connection.password">passw</property>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5434/lab1_aop</property>

       <mapping resource="Book.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

Book.hbm.xml文件中,我没有改变任何内容:

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

<hibernate-mapping>
    <class name="model.Book" table="books">
        <meta attribute="class-description">
            This class contains a book details.
        </meta>
        <id name="id" type="int" column="id">
            <generator class="native"/>
        </id>
        <property name="name" column="name" type="string"/>
        <property name="borrowed" column="borrowed" type="boolean"/>
    </class>
</hibernate-mapping>

有人能帮帮我吗?如果没有,我可以提供更多的代码。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

尝试更换:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<?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.cfg.xml