不好意思。配置文件如下:<hibernate-mapping>
    <class name="com.ncwu.sems.vo.educationadmin.Xs" table="xs" schema="dbo" catalog="yjs">
        <id name="xh" type="java.lang.String">
            <column name="XH" length="10" />
            <generator class="assigned" />
        </id>
        <many-to-one name="bj" class="com.ncwu.sems.vo.educationadmin.Bj" fetch="select">
            <column name="BJID" />
        </many-to-one>
        <property name="xm" type="java.lang.String">
            <column name="XM" length="20" />
        </property>
        <property name="xmpy" type="java.lang.String">
            <column name="XMPY" length="40" />
        </property>
        <property name="xbm" type="java.lang.String">
            <column name="XBM" length="1" />
        </property>
        <property name="zp" type="java.lang.String">
            <column name="ZP" />
        </property>
        <property name="ejxkm" type="java.lang.String">
            <column name="EJXKM" length="8" />
        </property>
        <property name="ds1" type="java.lang.String">
            <column name="DS1" length="10" />
        </property>
        <property name="ds2" type="java.lang.String">
            <column name="DS2" length="10" />
        </property>
        <property name="dqszj" type="java.lang.String">
            <column name="DQSZJ" length="1" />
        </property>
        <property name="xszt" type="java.lang.String">
            <column name="XSZT" length="1" />
        </property>
        <property name="shh" type="java.lang.String">
            <column name="SHH" length="5" />
        </property>
        <property name="xslb" type="java.lang.String">
            <column name="XSLB" length="1" />
        </property>
        <property name="rxsj" type="java.lang.String">
            <column name="RXSJ" length="8" />
        </property>
        <property name="lqzydm" type="java.lang.String">
            <column name="LQZYDM" length="6" />
        </property>
        <property name="yjfxdm" type="java.lang.String">
            <column name="YJFXDM" length="8" />
        </property>
        <set name="skbjyxses" inverse="true">
            <key>
                <column name="xh" length="10" not-null="true" />
            </key>
            <one-to-many class="com.ncwu.sems.vo.educationadmin.Skbjyxs" />
        </set>
        <set name="xsztzhs" inverse="true">
            <key>
                <column name="XH" length="10" />
            </key>
            <one-to-many class="com.ncwu.sems.vo.educationadmin.Xsztzh" />
        </set>
 </class>
</hibernate-mapping>

解决方案 »

  1.   

    对应的表many-to-one映射文件<hibernate-mapping>
        <class name="com.ncwu.sems.vo.educationadmin.Xsztzh" table="xsztzh" schema="dbo" catalog="yjs">
            <id name="id" type="java.lang.Integer">
                <column name="ID" />
                <generator class="native" />
            </id>
            <many-to-one name="xs" class="com.ncwu.sems.vo.educationadmin.Xs" fetch="select">
                <column name="XH" length="10" />
            </many-to-one>
            <property name="zhjs" type="java.lang.String">
                <column name="ZHJS" length="100" />
            </property>
            <property name="djsj" type="java.util.Date">
                <column name="DJSJ" length="23" />
            </property>
            <property name="bz" type="java.lang.String">
                <column name="BZ" length="100" />
            </property>
        </class>
    </hibernate-mapping>
      

  2.   

    从many-to-one的类中可以取到外键映射的class实例,而从one-to-many的类中取对应的set集合映射时却总是空的,其他的表关联不存在这样的问题。谢谢
      

  3.   

    在 hibernate 3.x 中默认是延迟加载的。
    你用Hibernate.initialize(); 显示的加载你的Set试试........
      

  4.   

    不好意思。看来是问题没有说清楚。错误倒是没有,只是set总是取不到,在控制台中查询set的sql语句已经出来了。但是set中就是没有值,所以我只能说比较奇怪。楼上的说用hibernate.initialize(),这个是怕失去session,我的session一直都是有效的,没有出现异常、错误之类的东西。
      

  5.   

    这个,hibernate本身默认的就是延迟加载把,不过多谢楼上的朋友提醒,那我就改成显式的延迟加载试试。
      

  6.   

    同一个字段跟其它的表中字段关联吗?
    inverse="true"在一这一端把控制权交给对方去维护。
      

  7.   

    是同一个字段.就是这个表的id,在好几张表中都做外键.你说这个是让我往哪个地方加的?是set节点吗?我的已经加过了.如果不是请再说明一下,谢谢