我写的第一个hibernate程序,helloworld就出错了,不知道为啥,求大神指教~~~首先附上我的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>        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</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>
        <mapping resource="HibernateModel/student.hbm.xml"/>    </session-factory></hibernate-configuration>
以及我的student.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package=HibernateModel">

    <class name="student" >
 <id name="id" >
            <generator class="native"/>
        </id>
        <property name="age"/>
        <property name="name"/>
    </class>
</hibernate-mapping>以下是测试类:import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;import HibernateModel.student;
public class StudentTest { private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;

public static void main(String[] args) {
student s = new student();
s.setId(1);
s.setAge(1);
s.setName("wang");


Configuration configuration = new Configuration();
    configuration.configure();
    serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();        
    sessionFactory = configuration.buildSessionFactory(serviceRegistry);

Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sessionFactory.close();


        
}}运行之后报这种错误信息Exception in thread "main" org.hibernate.InvalidMappingException: Unable to read XML
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:109)
at org.hibernate.cfg.Configuration.add(Configuration.java:478)
at org.hibernate.cfg.Configuration.add(Configuration.java:474)
at org.hibernate.cfg.Configuration.add(Configuration.java:647)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:730)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2115)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2087)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2067)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2020)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1935)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1914)
at StudentTest.main(StudentTest.java:26)
Caused by: org.dom4j.DocumentException: Error on line 6 of document  : Open quote is expected for attribute "{1}" associated with an  element type  "package". Nested exception: Open quote is expected for attribute "{1}" associated with an  element type  "package".
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:78)
... 11 more
我查过报名什么的都没错啊,这个错误是什么意思啊???求诸位大神指教~~~~~hibernate

解决方案 »

  1.   

    你的student.hbm.xml配置有问题!!!
    <hibernate-mapping package="包名"> 
    table="表名"没有配置!
    <class name="类名" table="表名"> 
      

  2.   

    <hibernate-mapping package=HibernateModel">没看到少个引号吗?改为
    <hibernate-mapping package="HibernateModel">
      

  3.   

    注意看错误:
    Caused by: org.dom4j.DocumentException: Error on line 6 of document  
     Open quote is expected for attribute "{1}" associated with an  element type  "package". Nested exception: Open quote is expected for attribute "{1}" associated with an  element type  "package".
    指出错误位置在16号,原因是domu4j解析xml文档错误,属性package的值要求一个开头的引号,但文档中没有<hibernate-mapping package=HibernateModel">
    一看就是笔误了,少一个引号
      

  4.   

    解析 xml错误  。 xml格式不对。  查看 哪里格式写错了。
      

  5.   

    package=HibernateModel"
    左边少了引号