hibernate之映射關係多對多

前言:多對多就是一對多的分子,當多對多不能符合完整性約束是,就產生了一對多的關係,需要中間表來完成映射多對多關係
  注意配置:
   1、多對多配置雙方都是set集合同時指向中間表的字段
 代碼:
  1、sql語句
   create table t_user(
     u_id varchar(255),
     u_name varchar(255),
     u_age Integer,
     u_price double(5,2),
     primary key(u_id)
    );
    
    create table t_user_class(
     uc_id varchar(255),
     uc_classNo Integer,
     uc_funds double(5,2),
     uc_back varchar(255),
     primary key(uc_id)
    );
    
    create table t_user_reference(
     u_id varchar(255),
     uc_id varchar(255)
    );
 2、java類
 
  public class UserClass {
 
   private  String id;
   private Integer classNo;
   private double funds;
   private String back;
   private Set<UserT> users=new HashSet<UserT>();
   
  public class UserT  implements Serializable{
  
   private String id;
   public String name;
   private Integer age;
   private double price;
   private Set<UserClass> usercs=new HashSet<UserClass>();
   
 3、配置文件
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
    <hibernate-mapping package="com.wolf.pojo.oneToone">
        <class name="UserClass" table="t_user_class">
            <id name="id" column="uc_id"/>
            <property name="classNo" column="uc_classNo"/>
            <property name="funds" column="uc_funds"/>
            <property name="back" column="uc_back"/>
            <set name="users" table="t_user_reference" cascade="all">
             <key column="u_id"></key>
             <many-to-many class="UserT" column="uc_id"></many-to-many>
            </set>
        </class>
    </hibernate-mapping>
    
    <?xml version="1.0"?>
     <!DOCTYPE hibernate-mapping PUBLIC
             "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
             "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
     
     <hibernate-mapping package="com.wolf.pojo.oneToone" auto-import="false">
         <class name="UserT" table="t_user">
             <id name="id" column="u_id">
             </id>
             <property name="name" column="u_name"/>
             <property name="age" column="u_age"/>
             <property name="price" column="u_price"/>
             <set name="usercs" table="t_user_reference" cascade="all">
              <key column="uc_id"></key> 
              <many-to-many class="UserClass" column="u_id"></many-to-many>
             </set>
         </class>
     </hibernate-mapping>
發佈了46 篇原創文章 · 獲贊 9 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章