0

当我使用在一对一映射之后列出的一对多映射设置我的开放 JPA 实体映射时,我得到以下异常。当我切换顺序时,我没有得到异常。

我假设应用了 XSD 规则,但该规则的目的是什么?

无法在项目上执行目标 org.apache.openjpa:openjpa-maven-plugin:2.2.2:enhance (enhancer):目标 org.apache.openjpa:openjpa-maven-plugin:2.2.2:enhance 的执行增强器失败: 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 ”:元素集合,“ http://java.sun.com/xml/ns/persistence/orm ”:嵌入,“ http://java.sun.com/xml/ns/persistence/orm ”:transient}' 是预期的。

<!-- 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>
4

0 回答 0