гибернация ошибка отображения списка один-ко-многим - PullRequest
3 голосов
/ 12 августа 2011

У меня есть следующий сегмент файла отображения xibernate xml.

   

    <list name="networks" cascade="all">
                <key column="parent_id"/>    

                <one-to-many class="Network"/>
        </list>

он выдал следующее исключение, почему? у него есть упомянутые элементы.

Caused by: org.xml.sax.SAXParseException: The content of element type "list" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(index|list-index),(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    at org.hibernate.cfg.Configuratio

Ответы [ 2 ]

8 голосов
/ 12 августа 2011

Вам необходимо добавить <list-index обязательно для <List > отображения.

<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.Индексированные коллекции
Все отображения коллекций, кроме тех, которые имеют семантику set и bag, нуждаются в столбце индекса в таблице коллекций.Столбец индекса - это столбец, который сопоставляется с индексом массива, или индексом списка, или ключом карты.

2 голосов
/ 31 августа 2011

Если вы не заботитесь о заказе, вы можете использовать сумку

<bag name="networks" cascade="all">
     <key column="parent_id"/>
     <one-to-many class="Network"/>
</bag>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...