【问题标题】:hibernate one to many list mapping error休眠一对多列表映射错误
【发布时间】:2011-10-25 09:05:19
【问题描述】:

我有以下hibernate xml映射文件段。

列表>

它产生了以下异常,为什么?它确实有提到的元素。

引起:org.xml.sax.SAXParseException:元素类型“list”的内容必须匹配“(meta*,subselect?,cache?,synchronize*,comment?,key,(index|list-index),(element |一对多|多对多|复合元素|多对任意),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter *)”。 在 org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(未知来源) 在 org.apache.xerces.util.ErrorHandlerWrapper.error(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(未知来源) 在 org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(未知来源) 在 org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(未知来源) 在 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(未知来源) 在 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知来源) 在 org.apache.xerces.parsers.XML11Configuration.parse(未知来源) 在 org.apache.xerces.parsers.XML11Configuration.parse(未知来源) 在 org.apache.xerces.parsers.XMLParser.parse(未知来源) 在 org.apache.xerces.parsers.AbstractSAXParser.parse(未知来源) 在 org.dom4j.io.SAXReader.read(SAXReader.java:465) 在 org.hibernate.cfg.Configuratio

【问题讨论】:

    标签: xml hibernate mapping


    【解决方案1】:

    <list-index 映射必须添加 <list-index

    <list name="networks" cascade="all">
        <key column="parent_id"/>    
        <list-index column="order" base="0" />
        <one-to-many class="Network"/>
    </list>
    

    Hibernate 参考文档

    6.2.3. Indexed collections
    除了具有 set 和 bag 语义的集合映射之外,所有集合映射都需要在 收集表。索引列是映射到数组索引或列表索引的列,或 地图键。

    【讨论】:

    • 这样的栏目需要存在吗?我真的不在乎订单。
    【解决方案2】:

    如果你不在乎订单,你可以用一个包

    <bag name="networks" cascade="all">
         <key column="parent_id"/>
         <one-to-many class="Network"/>
    </bag>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      相关资源
      最近更新 更多