ERROR XMLHelper:81 - Error parsing XML: XML InputStream(31) The content of element type "set" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
上面是异常信息<?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 package="com.ghmi.gamecase.entity">
<class name="Account" table="account">
<id name="id" column="id" type="integer" length="9">
<generator class="increment"/>
</id> <property name="username" column="username" unique-key="uq_account_username"
not-null="true" type="string" length="20" /> <property name="password" column="password" not-null="true"
type="string" length="30" /> <property name="name" column="name" not-null="true" type="string"
length="10" /> <property name="age" column="age" type="integer" length="2" /> <property name="address" column="address" type="string" />

<set name="assessors" inverse="true">
<key column="assessor" not-null="true" />
<one-to-many class="GameRes" />
</set> <set name="promulgators" inverse="true">
<key column="promulgator" not-null="true" />
<one-to-many class="GameRes" />
</set>

</class>
</hibernate-mapping><?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 package="com.ghmi.gamecase.entity">
<class name="GameRes" table="game_res">
<id name="id" column="id" type="integer" length="9">
<generator class="increment" />
</id> <property name="label" column="label" type="string" not-null="true"
length="20" /> <property name="uploadDate" column="upload_date" not-null="true"
type="date" /> <many-to-one name="assessor" column="assessor"
foreign-key="fk_act_id_assessor_1" not-null="true" /> <many-to-one name="promulgator" column="promulgator"
foreign-key="fk_act_id_promulgator_2" not-null="true" /> <property name="visitCount" column="visit_count" not-null="true"
type="integer" length="9" /> <property name="auditingPass" column="auditing_pass"
not-null="true" type="string" length="2" /> <property name="desc" column="desc" not-null="true" type="string" />

</class>
</hibernate-mapping>

解决方案 »

  1.   

    顶 ! 
    (0 ms)[main] ERROR:org.hibernate.util.XMLHelper#error :Error parsing XML: XML InputStream(14) The content of element type "set" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
    Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping document from resource ./jinhua/Order.hbm.xml
            at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
            at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
            at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
            at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
            at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
            at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
            at org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
            at jinhua.OrderHibernateDao.main(OrderHibernateDao.java:25)
    Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from invalid mapping
            at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:502)
            at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
            ... 7 more
    Caused by: org.xml.sax.SAXParseException: The content of element type "set" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
            at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
            at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
            at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
            at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
            at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2048)
            at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:932)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
            at org.dom4j.io.SAXReader.read(SAXReader.java:465)
            at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499)
            ... 8 more
    Java Result: 1
      

  2.   

    哈哈 以前困扰我非常久的问题啊你是不是觉得没错 可是他还是会出错我那时候更离谱 有时候久可以  有时候又不可以!
    解决办法  去找个正确配置文件的 重新配过! copy 别人正确的 自己再改!
      

  3.   

    解决办法 去找个正确配置文件的 重新配过! copy 别人正确的 自己再改!
      

  4.   

    Order.hbm.xml是哪个文件?
    应该是set有问题,可能是po中对应的属性写错了
    private Set assessors = new HashSet(0);