Hibernate基于主键的多对多映射2015-11-11
来源:互联网 发布:温莎公爵知乎 编辑:程序博客网 时间:2024/05/23 18:33
Hibernate 多对的映射,由于在数据库中建表与表之间的关系比较复杂且容易出错,故推荐用powerdesiger建表
在数据库中建立两种基本的实体类表Student表和Course表,建表结构如下
在myeclipse中使用反转工程,生成实体类Student和Course
修改Student类
在Student类中增加Course类的set属性,具体如下
Class Student {
private Set Course=new HashSet();
同时提供getter 和setter方法
}
在Student.hbm.xml中映射Set属性
<set name="coursesSet" table="choose" lazy="false" inverse="false" cascade="save-update"><key column="student_id" not-null="true"></key>
<many-to-many column="course_id" class="com.hibtest2.entityonetooneunique.Course"></many-to-many>
</set>
其中。,name属性是指在Student类的Set属性的名字,laze属性是指不采用延迟加载,cascade属性是指可以采用级联操作,table是指两个实体类多对多产生的一张共同表的名字,
在Set下增加两个子属性key:column是指此Student类在共同表上的字段名
many-to-many中column是指多对多映射的另一类的字段名,class属性是指多对多映射的另一个类的全类名
相信自己,努力不会白费,总会有收获的季节,现在的我们都处在播种以及维护浇水的日子里,成功离我们一定都不会遥远
同理在Course类中定义Set属性
Class Course {
private Set student =new HashSet();
同时提供getter和Setter方法
}
在Course.hbm.xml中映射 Set属性
<set name="student" table="choose" lazy="false" inverse="true">
<key column="course_id" not-null="true"></key>
<many-to-many column="student_id" class="com.hibtest2.entityonetooneunique.Student"></many-to-many>
</set>
原理同上
简而言之就是在哪一个类增加罗Set属性,就要映射该属性
在映射中,set 属性中name属性是指本身类的set名字, table是指共同的表名,
在set的子属性中,key属性中column是指此类在表中对应的字段名
在many-to-many中是另一方的信息,另一方在共同表的字段名。class是另一方的全类名
在测试VDE过程中只需注意是那一个类在控制,即可以执行级联操作
- Hibernate基于主键的多对多映射2015-11-11
- hibernate基于主键的双向多对多的关联映射
- Hibernate基于主键单向和双向多对多关系映射
- Hibernate基于主键的一对一映射关系
- Hibernate ORM映射:基于主键的一对一
- hibernate基于注解的联合主键映射
- Hibernate-映射关系- 基于主键映射的1<->1映射
- hibernate4-基于主键的单(双)向多对多的关联映射
- hibernate基于主键的一对多关系
- Hibernate关联关系映射-----基于连接表的单向多对多映射配置
- Hibernate一对一映射(基于外键的映射,基于主键的映射)
- 9.Hibernate双向基于主键的1-1映射
- Hibernate之基于主键映射的一对一关联关系
- hibernate基于主键的一对一映射(单双向)
- Hibernate中多主键对象映射配置
- Hibernate的关系映射多对多
- hibernate 四 多对多的映射
- hibernate的映射关系之一对多
- 34.Android MVC框架 - Robotlegs4Androird
- sublime text 安装插件
- 使用https出错javax.net.ssl.SSLHandshakeException: Handshake failed
- spring、struct、hibernate三大框架整合
- python datetime详解
- Hibernate基于主键的多对多映射2015-11-11
- 线性表
- 蓝懿iOS 技术内容交流和学习心得 11.11
- PostgreSQL安全指南 - Postgres2015全国用户大会--重磅嘉宾佳作分享(周正中)
- OnLongClickListener接口接入
- c++对象
- 修改FoxitReader (福昕PDF阅读器)最近打开文档数目的上限
- 全面解析Linux 内核 3.10.x - 开始编译<一>
- 0102 混蛋罗心得[敌人方位(多图, 慎入)]