表结构
'CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8'
'CREATE TABLE `teacher` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8'
'CREATE TABLE `t_s` (
`t_id` int(11) NOT NULL,
`s_id` int(11) NOT NULL,
PRIMARY KEY (`t_id`,`s_id`),
KEY `FK_fnk3mfpvyt0fjhrlfob6aq836` (`s_id`),
KEY `FK_pwnxtyel9rk4o5hcppee64hv4` (`t_id`),
CONSTRAINT `FK_fnk3mfpvyt0fjhrlfob6aq836` FOREIGN KEY (`s_id`) REFERENCES `student` (`id`),
CONSTRAINT `FK_pwnxtyel9rk4o5hcppee64hv4` FOREIGN KEY (`t_id`) REFERENCES `teacher` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8'
Annotation方法
Student类
package hibernate.entities; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Student { private int id; private String name; @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; } }
Teacher类
package hibernate.entities; import java.util.HashSet; import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; 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(strategy=GenerationType.AUTO) 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="t_id"), inverseJoinColumns=@JoinColumn(name="s_id") ) public Set<Student> getStudents() { return students; } public void setStudents(Set<Student> students) { this.students = students; } }
xml 方法
Student.hbm.xml
<?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="hibernate.entities"> <class name="Student"> <id name="id" column="id"> <generator class="native"></generator> </id> <property name="name" column="name"/> </class> </hibernate-mapping>
Teacher.hbm.xml
<?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="hibernate.entities"> <class name="Teacher"> <id name="id" column="id"> <generator class="native"></generator> </id> <property name="name" column="name"/> <set name="students" table="t_s"> <key column="t_id"></key> <many-to-many class="hibernate.entities.Student" column="s_id"/> </set> </class> </hibernate-mapping>
相关推荐
多对多单向关联 <br>需要注意映射规则: <set name="users" table="t_user_role"><br> <key column="roleid"/><br> <many-to-many class="com.bjsxt.hibernate.User" column="userid"/><br> </set>
这里包含了hibernate多对一单向关联关系实现源码,希望对你有用。
hibernate关联映射注解多对多单向关联、
Hibernate 多对一外键单向关联 Hibernate 多对一连接表单向关联 Hibernate 多对多单向关联 Hibernate 一对一外键双向关联 Hibernate 一对一主键双向关联 Hibernate 一对一连接表双向关联 Hibernate 一对多外键双向...
│ ├─ 多对一外键单向关联 │ ├─ 多对一连接表单向关联 │ └─ 多对多单向关联 └─双向关联 ├─ 一对一外键双向关联 ├─ 一对一主键双向关联 ├─ 一对一连接表双向关联 ├─ 一对多外键双向关联 ├─ 一对...
http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码
NULL 博文链接:https://cdxs2.iteye.com/blog/1932868
这是实现了一对多单向关联关系实现元源码,希望对你有用。
Hibernate学习:单向多对一关联 工程
ESho1.0版本主要实现项目的创建,数据库的创建与ORM映射. [创建项目与数据库] 1."电子商城系统"EShop应用项目的创建 2.MySQL数据库db_eshop的创建 3.为EShop应用导入Struts...13.配置购物车到商品的多对多单向关联关系
Hibernate 一对多 外键 单向关联,有例子。
hibernate单向一对多关联映射(注解版)
hibernate主键实现一对一单向关联关系源码
多对多双向关联 <br>注意映射规则: <set name="roles" table="t_user_role"><br> <key column="userid"/><br> <many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/><br> </set><br> table...
Hibernate单向关联代码示例,将解压后的目录设置成MyEclipse工作空间即可,无需导入
http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码
12.4.5 多对一单向关联的annotation注解实现538 12.4.6 一对多双向关联的annotation注解实现540 12.4.7 一对多双向自身关联的annotation注解实现542 12.4.8 多对多单向关联的annotation注解实现543 12.4.9 多对多...