12hibernate hibernate的关系映射之ManyToMany(重点)
来源:互联网 发布:mac电脑声音很大 编辑:程序博客网 时间:2024/05/18 01:26
1.多对多单向关联(老师知道教了哪些学生,学生并不知道被哪些老师教)a.数据库:中间表b.annotation:@Entitypublic class Teacher{private int id;private String name;@ManyToMany@JoinTable(name="t_s",//可修改默认中间表的名称JoinColumns{@JoinColumn(name="teacher_id")},//定义当前类在中间表中的列名,并参考当前类的idinverseJoinColumns={@JoinColumn(name="student_id")}//定义对方类在中间表中的外键的名称,参考对方类的id)private Set<Student> students = new HashSet<Student>();}@Entitypublic class Student{private int id;private String name;}//默认生成中间表Teacher_Student//默认中间表包含Teacher_id和students_id两个字段c.xml:<class name="com.hibernate.Teacher"><id name="id"><generator class="native"></generator></id><property name="name"></property><set name="students" table="t_s"><key column="teacher_id"></key>//相当于JoinColumn,指向自己这张表的外键名称<many-to-many class="com.hibernate.Student" column="student_id"></many-to-many>//column="student_id"指向对方那张表的外键名称</set></class><class name="com.hibernate.Student"><id name="id"><generator class="native"></generator></id><property name="name"></property></class>2.多对多双向关联(比较少用)a.annotation:@Entitypublic class Teacher{private int id;private String name;@ManyToMany@JoinTable(name="t_s",JoinColumns{@JoinColumn(name="teacher_id")},inverseJoinColumns={@JoinColumn(name="student_id")})private Set<Student> students = new HashSet<Student>();}@Entitypublic class Student{private int id;private String name;@ManyToMany(mappedBy="students")private Set<Teacher> teachers = new HashSet<Teacher>();}//数据库表没有变化b.xml:Teacher类的xml不变<class name="com.hibernate.Student"><id name="id"><generator class="native"></generator></id><property name="name"></property><set name="teachers" table="t_s"><key column="student_id"></key><many-to-many class="com.hibernate.Teacher" column="teacher_id"></many-to-many></set></class>
0 0
- 12hibernate hibernate的关系映射之ManyToMany(重点)
- 09hibernate hibernate的关系映射之OneToOne(重点)
- 11hibernate hibernate的关系映射之OneToMany和ManyToOne(重点)
- Hibernate 表关系描述之ManyToMany
- hibernate关系映射--单向多对多@ManyToMany
- hibernate关系映射--双向多对多@ManyToMany
- hibernate 之 关系映射
- Hibernate之关系映射
- Hibernate之关系映射
- Hibernate之关系映射
- Hibernate注解之@ManyToMany
- 【Hibernate】Hibernate的映射关系
- hibernate 的映射关系
- Hibernate的关系映射
- hibernate的映射关系
- Hibernate的关系映射
- Hibernate的映射关系
- hibernate的关系映射
- POJ 2104 K-th Number
- Flex mx:DataGrid样式调整
- web显示一部分内容
- 联发科紧迫盯人 高通有意拉开差距双方策略亦步亦趋
- 雾山的Robotium学习笔记---使用junitreport导出测试报告
- 12hibernate hibernate的关系映射之ManyToMany(重点)
- HDU-2871-Memory Control
- 关于Dom4j解析XML文件,外带上一个简单工具
- 如何获取和判断json中的boolean 值
- iOS Mac开发博客
- Google抛弃MapReduce使用Cloud Dataflow
- cocos2dx android版本移植时的Error format not a string literal and no format arguments解决方案
- Cocos2 场景切换方式
- typedef struct与struct的区别