zoukankan      html  css  js  c++  java
  • hibernate映射关系(多对多)

    Student与Teacher关系多对多(只建了2个实体类)

    1 public class Student {
    2     private int id;
    3     private String name;
    4     private Set<Teacher> teachers = new HashSet<Teacher>();    
    5 }
    1 public class Teacher {
    2     private int id;
    3     private String name;
    4     private Set<Student> students = new HashSet<Student>();
    5 }

    多对多

     1 <hibernate-mapping package="entity">
     2     <class name="Student">
     3         <id name="id">
     4             <generator class="native"/>
     5         </id>
     6         <property name="name"/>
     7         <!--
     8             <set>标签的table属性:    配置关系表的名称
     9             <key>标签的column属性:    当前实体对应数据库表的外键字段名
    10             <many-to-many>标签表示多对多关系,属性:
    11                 class属性:    表示对方的类名
    12                 column属性: 表示对方的表在关系表中的外键字段名
    13         -->
    14         <set name="teachers" table="StudentTeacher" cascade="save-update">
    15             <key column="studentId"/>
    16             <many-to-many class="Teacher" column="teacherId" />
    17         </set>
    18     </class>
    19 </hibernate-mapping>
     1 <hibernate-mapping package="entity">
     2     <class name="Teacher">
     3         <id name="id">
     4             <generator class="native"/>
     5         </id>
     6         <property name="name"/>
    14         <set name="students"  table="StudentTeacher" cascade="save-update">
    15             <key column="teacherId"/>
    16             <many-to-many class="Student" column="studentId" />
    17         </set>
    18     </class>
    19 </hibernate-mapping>
  • 相关阅读:
    autoreleasepool
    #ifndef/#define/#endif
    类工厂创建单例
    第一篇献给你:Block的回调
    博客纪念日
    [系列教程] Discuz模板的制作方法
    使用Discuz!后台备份和恢复Discuz!站点数据库的方法教程
    discuz x2.5 还原教程
    80后公务员辞职自述:7年收入没涨 能力是听话
    公务员队伍开始动荡了吗?
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/4733427.html
Copyright © 2011-2022 走看看