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">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration> <session-factory>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.url">
jdbc:sqlserver://localhost:1433
</property>
<property name="connection.username">sa</property>
<property name="connection.password">123</property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="myeclipse.connection.profile">House</property>
<property name="show_sql">true</property>
<mapping resource="cn/jbit/bean/Users.hbm.xml" /> </session-factory></hibernate-configuration>
Tes.t.java里面的代码
package cn.jbit.test;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;import cn.jbit.bean.Users;public class Test { /**
 * @param args
 */
public static void main(String[] args)
{ /**
 * @param args
 */


Configuration conf = new Configuration().configure();
SessionFactory sf =conf.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Users users= new Users();

users.setName("zhangsan");
users.setPassword("12345");
users.setTelephone("123213");
users.setIsadmin("是");
users.setUsername("dfjdsj");
session.save(users);
tx.commit();
session.close(); } }
一片惨红的代码
2013-1-23 10:02:25 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.4.Final}
2013-1-23 10:02:25 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
2013-1-23 10:02:25 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
2013-1-23 10:02:25 org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
2013-1-23 10:02:25 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
2013-1-23 10:02:25 org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: cn/jbit/bean/Users.hbm.xml
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:2109)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2081)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2061)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2014)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1929)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1908)
at cn.jbit.test.Test.main(Test.java:23)
Caused by: org.dom4j.DocumentException: Error on line 3 of document  : The system identifier must begin with either a single or double quote character. Nested exception: The system identifier must begin with either a single or double quote character.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:78)
... 11 more
求各位大神帮忙啊

解决方案 »

  1.   

    创建Configuration对象的时候、传入你配置文件的路径:
    Configuration conf = new Configuration().configure("/hibernate.cfg.xml");
      

  2.   

    还是一片惨红,我用的是MyEclipse10.7+SQL2012,是不是我版本的问题啊
      

  3.   

    Configuration conf = new Configuration().configure("/hibernate.cfg.xml");
    这句话读取不到啊
      

  4.   


    2013-1-23 11:07:07 org.hibernate.Version logVersion
    INFO: HHH000412: Hibernate Core {4.1.4.Final}
    2013-1-23 11:07:07 org.hibernate.cfg.Environment <clinit>
    INFO: HHH000206: hibernate.properties not found
    2013-1-23 11:07:07 org.hibernate.cfg.Environment buildBytecodeProvider
    INFO: HHH000021: Bytecode provider name : javassist
    2013-1-23 11:07:07 org.hibernate.cfg.Configuration configure
    INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
    2013-1-23 11:07:07 org.hibernate.cfg.Configuration getConfigurationInputStream
    INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
    2013-1-23 11:07:07 org.hibernate.cfg.Configuration addResource
    INFO: HHH000221: Reading mappings from resource: cn/jbit/bean/Users.hbm.xml
    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:2109)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2081)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2061)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2014)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1929)
    at cn.jbit.test.Test.main(Test.java:23)
    Caused by: org.dom4j.DocumentException: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd%20 Nested exception: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd%20
    at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:78)
    ... 10 more
      

  5.   

    嗯嗯~~~懂了、4.1读取的时候不用指定Hibernate.cfg.xml了!
      

  6.   


    buildSessionFactory
    4.1版本中buildSessionFactory()已经被buildSessionFactory(ServiceRegistry ServiceRegistry)取代
    解决办法:
    Configuration cfg = new Configuration().configure();
    ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
    SessionFactory sf = cfg.configure().buildSessionFactory(serviceRegistry);
      

  7.   

    另外你的hbm中的dtd换成:<!DOCTYPE   hibernate-mapping   PUBLIC   "-//Hibernate/Hibernate   Mapping   DTD   3.0//EN " 
                    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ">
      

  8.   

    异常说的很清楚在读cn/jbit/bean/Users.hbm.xml的时候你的dtd声明那里缺少了"结束标识