log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.hjl.domain.Test.main(Test.java:14)
Caused by: org.hibernate.MappingException: invalid configuration
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1521)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
at com.hjl.util.HibernateUtils.<clinit>(HibernateUtils.java:14)
... 1 more
Caused by: org.xml.sax.SAXParseException: The content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2017)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:901)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1518)
... 4 more

解决方案 »

  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="dialect">
    org.hibernate.dialect.MySQLDialect
    </property> <!-- 数据库驱动 -->
     
    <property name="connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <!-- 连接数据库的URL -->
     
    <property name="connection.url">
    jdbc:mysql://localhost:3306/test
    </property> <!-- 连接数据库的用户名 -->
     
    <property name="connection.username">root</property>
    <!-- 连接数据库的密码 -->
     
    <property name="connection.password">123456</property>
    <!-- 是否输出hibernate操作数据库使用的SQL语句 -->
    <property name="show_sql">true</property>
    <!-- 根据需要自动生成、更新数据表 -->
    <property name="hbm2ddl.auto">update</property>
    <!-- 根据需要注册所有映射文件 -->
    <mapping resource="com/hjl/domain/User.hbm.xml" />
        </session-factory>
    </hibernate-configuration>===================================================<?xml version="1.0" ?>
    <!DOCTYPE hibernate-mapping PUBLIC 
         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="com.hjl.domain">
        <class name="User" table="User" >
            <id name="id" column="ID">          
                <generator class="native"/>         
            </id>
            <property name="name" type="string" column="NAME"/>
            <property name="paw" type="string" column="PAW"/>
        </class>
    </hibernate-mapping>
      

  2.   

    Hibernate.cfg.xml有错,mapping应该放到property之后。
      

  3.   

    Hibernate.cfg.xml中把映射文件的配置放在property后面
      

  4.   


    请问一下,这个怎么解决的,我现在正在学Hibernate,也碰到了这个问题