我写的第一个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
<!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
解决方案 »
- 项目名,更改之后,问题....请大侠帮忙....
- webwork 的第一个程序,出现的问题,迷惑中.......
- 关于<jsp:include>的问题,出现error
- java ejb加了一个service层后在web层调用sessionBean报空指针
- Hibernate这条语句怎么写????
- java程序出现'class'or'interface'expected这种错误到底怎么解决
- 一个entity beans 的实例 如何与一个 session beans实例进行通信呢?
- 马上给分!为什么老是有两个同名finder?发生在一个表有两个主键时生成的实体BEAN里,jbuilder8
- EJB1.1和2.0的区别在哪里?
- 请问如何在指定的位置插入内容?
- 打开页面调用js
- struts像javascript传递参数的问题
<hibernate-mapping package="包名">
table="表名"没有配置!
<class name="类名" table="表名">
<hibernate-mapping package="HibernateModel">
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">
一看就是笔误了,少一个引号
左边少了引号