public class Group {     “一”的一端 private int id;

private String name;

private Person person;
------------------------------------------------------
public class Person {    “多”的一端 private int id;

private int name;

private Group group;
------------------------------------------------------
<hibernate-mapping package="com.zw.wllt">      一的一端的配置映射
<class name="Group" table="t_group">
<id name="id">
<generator class="native" />
</id>
<property name="name" />
<set name="person">
<key column="groupid"/>
<one-to-many class="Group"/>
</set>
</class></hibernate-mapping>
-------------------------------------------------------
<hibernate-mapping package="com.zw.wllt">    多的一端配置映射
<class name="Person" table="t_person">
<id name="id">
<generator class="native" />
</id>
<property name="name" />
<many-to-one name="group" column="groupid"/>
</class>
</hibernate-mapping>----------------------------------------------------------
出现的问题是:在多的一端生成的表中会出现一个groupid字段,在一的一端是不会出现的,但是问题就出在在2张表中都会出现groupid字段是什么地方出了错误?

解决方案 »

  1.   

    你好,楼主!
    public class Group { “一”的一端private int id;private String name;private Set<Person> person;Hibernate 文件<hibernate-mapping package="com.zw.wllt"> 一的一端的配置映射
    <class name="Group" table="t_group">
    <id name="id">
    <generator class="native" />
    </id>
    <property name="name" />
    <set name="person">
    <key column="groupid"/>
    <one-to-many class="Group"/>
    </set>
    </class></hibernate-mapping>JavaBean 的Pserson 应该设为Set 型
      

  2.   

    你这样配置肯定不正确撒
    在一的那类中肯定是有一个多的类的集合吧
    然后配置也不对
    一的那边配置
    <set inverse="true" name="属性名">
          <key column="本类的主键名"/>
          <one-to-many class="多的那边的类的全包名路径"/>
    </set>多的那边配置
    <many-to-one column="列名" name="属性名"/>