<hibernate-mapping>
    <class name="org.entity.TblQx" table="TBL_QX" schema="dbo" catalog="zf">
        <id name="qxid" type="java.lang.Integer">
            <column name="qxid" />
            <generator class="assigned" />
        </id>
        <property name="qx" type="java.lang.String">
            <column name="qx" length="50" />
        </property>
        <set name="tblJds" inverse="false">
            <key>
                <column name="qxid" not-null="true" />
            </key>
            <one-to-many class="org.entity.TblJd" />
        </set>
    </class>
</hibernate-mapping>
在这里 inverse="false"有什么用呢,各位可否给个例子说明一下。
我知道inverse是反转的意思,如果设置为true则表示多的一方来管理对象的关系,如果设置为false则是由one的一方来管理关系。但是无法用例子来描述

解决方案 »

  1.   

     默认为inverse="false",表示的是两端都来维护关系。
     双向关联中双方都设置inverse=false的话,必会导致双方都重复更新同一个关系。但是如果双方都设立inverse=true的话,双方都不维护关系的更新。
      

  2.   

     <set name="tblJds" inverse="false"> 
    表示在这一端有责任维护关系
      

  3.   

    inverse可以看成是个问句--->是否放弃关系维护?true则是放弃,false则是不放弃(维护关系)
      

  4.   

    恩  关系需要一个主控方  否则会出现重复更新问题。 一般来说 关系的两端一个为 true一个为false
      

  5.   

    inverse 该参数主要是主动与被动,一般用于级连操作
      

  6.   

    inverse 该参数主要是主动与被动,一般用于级连操作,关系的两端一个为 true一个为false