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>
  • 相关阅读:
    用select模拟一个socket server
    用select (多路复用)模拟一个 socket server
    IO模式
    IO多路复用
    进程、线程和协程的理解
    进程、线程和协程--自己的理解
    二维数组的初始化,遍历
    数组的练习
    练习1
    数组的内存结构
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/4733427.html
Copyright © 2011-2022 走看看