本小菜鸟在利用SSH框架搭建一个小型网站,其中有一个Person表和Address表,二者是双向的N-N关系,也就是一个Person实例可能拥有N个Address实例,一个Address实例也可能拥有N个Person实例。
双向的N-N关系貌似只能采用连接表来建立两个实体之间的关联关系。
先给出Person类和Address类的简化版本:public class Person
{
     private int personidl
     private String name;
     private Set<Address> addresses;
     /*无参构造器和初始化全部属性的构造器*/
     /*各个属性的setter和getter方法*/
}
public class Address
{
     private int addressid;
     private String addressdetail;
     private Set<Person> persons;
     /*无参构造器和初始化全部属性的构造器*/
     /*各个属性的setter和getter方法*/
}Person映射文件的关键部分如下:     <set name="addresses" inverse="true" table="person_address">
          <key column="person_id"/>
          <many-to-many class="Address" column="address_id">
     </set>Address映射文件的关键部分如下:     <set name="persones" inverse="true" table="person_address">
          <key column="address_id"/>
          <many-to-many class="Person" column="person_id">
     </set>
现在菜鸟我的问题是,要达到上述要求我需要建几个表?用不用建person_address表?要不要写PersonAddress类?如果要的话又要怎么写PersonAddress类的映射文件呢?
这些工作做完了以后,我如何查询呢?比如查询一个Person实例对用的Address实例呢?
小的菜鸟,还请各位大侠不吝赐教啊!!跪求各位大侠!HibernatemysqlN-N关联查询