run:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Initial SessionFactory creation failed.org.hibernate.MappingException: invalid configuration
Exception in thread "main" java.lang.ExceptionInInitializerError
at cn.micblog.utils.HibernateUtil.<clinit>(HibernateUtil.java:28)
at cn.micblog.test.DBTest.main(DBTest.java:20)
Caused by: org.hibernate.MappingException: invalid configuration
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1521)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1035)
at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1017)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:64)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1011)
at cn.micblog.utils.HibernateUtil.<clinit>(HibernateUtil.java:24)
... 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:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
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:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
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:119)
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)
... 9 more
Java Result: 1
成功生成(总时间:2 秒)

解决方案 »

  1.   

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>
        <class name="cn.micblog.domain.MessageBean" table="messagebean" catalog="kd_micro_blogging">
            <!-- 主键的设置-->
            <id name="m_id" type="String" >
                <column name="m_id" ></column>
                <generator class="native"></generator>
            </id>
            <property name="contents" cloumn="contents" type="String" ></property>
            <property name="id" cloumn="id" type="String" ></property>
            <property name="Re_num" cloumn="Re_num" type="int" ></property>
            <property name="Col_num" cloumn="Col_num" type="int" ></property>
            <property name="M_date" cloumn="M_date" type="String" ></property>
        </class>
    </hibernate-mapping>
    这是我的一个配置代表N<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC
      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
      "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>
        <class name="cn.micblog.domain.UserBean" table="userbean" catalog="kd_micro_blogging">
            <!-- 主键的设置-->
            <id name="id" type="String" >
                <column name="id" ></column>
                <generator class="native"></generator>
            </id>
            <property name="user_id" cloumn="user_id" type="String" ></property>
            <property name="stu_num" cloumn="stu_num" type="String" ></property>
            <property name="photo" cloumn="photo" type="blob" ></property>
            <property name="age" cloumn="age" type="String" ></property>
            <property name="sex" cloumn="sex" type="String" ></property>
            <property name="R_date" cloumn="R_date" type="Date" ></property>
            <property name="location" cloumn="location" type="String" ></property>
            <property name="B_id" cloumn="B_id" type="String" ></property>
            <property name="C_id" cloumn="C_id" type="String" ></property>
            <set name= "messagebean" >
                <key column="M_id"></key>
                <one-to-many  class = "MessageBean"  unique="true"></one-to-many>
            </set>
        </class>
    </hibernate-mapping>
    这个配置代表1
      

  2.   

    可能原因是由于xml元素顺序没有按照固定顺序书写。property必须在mapping前面,event又必须在listener前面。class-cache写在MAPPING后面。
    可以试着吧顺序更改一下。另外,把你的配置session-factory的也贴出来。
      

  3.   

    <?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="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/kd_micro_blogging</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">youc</property>
        <mapping resource="cn/micblog/domain/MessageBean.hbm.xml"/>
        <mapping resource="cn/micblog/domain/UserBean.hbm.xml"/>
        <property name="show_sql">true</property>
        <property name="current_session_context_class">thread</property>
      </session-factory>
    </hibernate-configuration>
      

  4.   

    改完顺序错误成了这样了。
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
    log4j:WARN Please initialize the log4j system properly.
    Initial SessionFactory creation failed.org.hibernate.MappingNotFoundException: resource: cn.micblog.domain.UserBean.hbm.xml not found
    Exception in thread "main" java.lang.ExceptionInInitializerError
    at cn.micblog.utils.HibernateUtil.<clinit>(HibernateUtil.java:28)
    at cn.micblog.test.DBTest.main(DBTest.java:22)
    Caused by: org.hibernate.MappingNotFoundException: resource: cn.micblog.domain.UserBean.hbm.xml not found
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:596)
    at org.hibernate.cfg.AnnotationConfiguration.addResource(AnnotationConfiguration.java:957)
    at org.hibernate.cfg.AnnotationConfiguration.parseMappingElement(AnnotationConfiguration.java:629)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1589)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1568)
    at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1047)
    at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1542)
    at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1035)
    at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
    at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1017)
    at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:64)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
    at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1011)
    at cn.micblog.utils.HibernateUtil.<clinit>(HibernateUtil.java:24)
    ... 1 more
      

  5.   

    Caused by: org.xml.sax.SAXParseException: The content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)".
    你按照模板,好好检查一下xml中的标签属性名,看看是不是写错了。
    不要出现"(property*,mapping*,(class-cache|collection-cache)*,event*,listener*) 之外的东西。
      

  6.   

    错误不是很明显么
    Caused by: org.hibernate.MappingNotFoundException: resource: cn.micblog.domain.UserBean.hbm.xml not found
    配置文件cn.micblog.domain.UserBean.hbm.xml没找到
      

  7.   

    I have hibernate.cfg.xml under src/main/resources and *.hbm.xml under src/main/resources/com/mycompany/.../User.hbm.xml
      

  8.   

    session-factory出现了这样的提示
    The content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)".
    ,编译过不去,我这个是第一个hibernate程序的配置,应该不需要配置缓存吧,ide是myeclipse8.5的,怎么解决啊。