hibernate 多对多双向关联
package com.bjsxt.hibernate;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
@Entity
public class Student {
private int id;
private String name;
private Set<Teacher> teachers = new HashSet<Teacher>();
@ManyToMany(mappedBy="students")
public Set<Teacher> getTeachers() {
return teachers;
}
public void setTeachers(Set<Teacher> teachers) {
this.teachers = teachers;
}
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.bjsxt.hibernate;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
public class Teacher {
private int id;
private String name;
private Set<Student> students = new HashSet<Student>();
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@ManyToMany
@JoinTable(name="t_s",
joinColumns={@JoinColumn(name="teacher_id")},
inverseJoinColumns={@JoinColumn(name="student_id")}
)
public Set<Student> getStudents() {
return students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.bjsxt.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.bjsxt.hibernate.Teacher" column="teacher_id"/>
</set>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.bjsxt.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>
<many-to-many class="com.bjsxt.hibernate.Student" column="student_id"/>
</set>
</class>
</hibernate-mapping>
最新文章
- 传播正能量&mdash;&mdash;做一个快乐的程序员
- [issue] [iOS 10] 升级后无法真机测试 Could not find Developer Disk Image
- [Java面试五]Spring总结以及在面试中的一些问题.
- Android EditText 改变边框颜色
- Spring集成JPA提示Not an managed type
- RPi 2B Documentation
- sharepoint 2010 在aspx 写lambda 时错误
- 【剑指offer】面试题39:二叉树的深度
- 网易云课堂_C++开发入门到精通_章节2:引用和函数的高级用法
- padding-top、margin-top和top的区别
- wap网页、微信内嵌网页在手机端页面窗口尺寸如何不缩放
- python服务端多进程压测工具
- Python与家国天下
- ESP8266交叉编译器xtensa-lx106-elf 在Linux下编译与生成
- 搭建redis-sentinel(哨兵机制)集群
- Babel安装在本地并用webstrom由ES6转Es5
- [na]wireshark排查打印机问题
- js 实时数据显示
- 修改salt-minion的id后报错解决方法
- flask请求流程
热门文章
- shell脚本--字符串处理和动态数组
- python datetime处理时间(转)
- 【UOJ #79】一般图最大匹配 带花树模板
- 【OpenJudge9270】【Pku2440】【递推】DNA
- insert失败自动执行update(duplicate先insert)
- C# mvc Request 请求过长报404错误的解决思路分析
- 【Sets】使用Google Guava工程中Sets工具包,实现集合的并集/交集/补集/差集
- UNICODE串转换成char类型串的四种方法
- Jenkins环境初步配置
- CKFinder的_thumbs缓存文件夹