Openjpa Enhancer не работает один-ко-многим, но только если его после один-к-одному?

Я получаю следующее исключение, когда у меня настроено открытое сопоставление сущностей JPA с отображением "один ко многим", перечисленным после отображения "один к одному". Когда я переключаю заказ, я не получаю исключения.

Я предполагаю, что применяется правило XSD, но какова цель этого правила?

Не удалось выполнить цель org.apache.openjpa:openjpa-maven-plugin:2.2.2: расширение (средство улучшения) проекта: средство выполнения цели org.apache.openjpa:openjpa-maven-plugin:2.2.2: расширение не выполнено: org.xml.sax.SAXException: был найден недопустимый контент, начиная с элемента "один ко многим". Один из '{" http://java.sun.com/xml/ns/persistence/orm": один-к-одному " http://java.sun.com/xml/ns/persistence/orm": многие-ко-многим, " http://java.sun.com/xml/ns/persistence/orm": element-collection, " http://java.sun.com/xml/ns/persistence/orm": встроенный, " http://java.sun.com/xml/ns/persistence/orm": переходный процесс}'ожидается.

<!-- FAILED -->     
<entity class="com.test.comm">
    <table schema="dbo" name="tbl_comm_data"/>
    <attributes>
        <id name="commId">
            <column name="comm_id"/>
        </id>              
        <basic name="commName">
            <column name="comm_name"/>
        </basic>          
        <one-to-one name="CommType" target-entity="com.test.TblCommType" mapped-by="TblComm" fetch="LAZY">
            <cascade>
                <cascade-merge/>
            </cascade>
        </one-to-one> 
        <one-to-many name="CommDtls" target-entity="com.test.TblCommDtl" mapped-by="tblCommFreq">
            <cascade>
                <cascade-merge/>
            </cascade>
        </one-to-many> 
    </attributes>
</entity>



<!-- WORKED -->     
<entity class="com.test.comm">
    <table schema="dbo" name="tbl_comm_data"/>
    <attributes>
        <id name="commId">
            <column name="comm_id"/>
        </id>              
        <basic name="commName">
            <column name="comm_name"/>
        </basic>
        <one-to-many name="CommDtls" target-entity="com.test.TblCommDtl" mapped-by="tblCommFreq">
            <cascade>
                <cascade-merge/>
            </cascade>
        </one-to-many>           
        <one-to-one name="CommType" target-entity="com.test.TblCommType" mapped-by="TblComm" fetch="LAZY">
            <cascade>
                <cascade-merge/>
            </cascade>
        </one-to-one> 

    </attributes>
</entity>

0 ответов

Другие вопросы по тегам