HIbernate关系映射--单向多对一@ManyToOne
2015-08-23 13:35
393 查看
1.无连接表的单向多对一
单向多对一只需从多的一端访问一的一端即可
比如:多个人对应一个地址
单向多对一需要在多的一端添加对一的一端的引用,并添加注解@ManyToOne(cascade={CascadeType.ALL}) @JoinColumn(name="")
主要代码及例子
@ManyToOne(cascade={CascadeType.ALL}) @JoinColumn(name="")
只需在多的一方添加注解@ManyToOne(cascade=CascadeType.ALL) @JoinTable(name="T_JC_test1_test2",joinColumns=@JoinColumn(name="test1ID"),inverseJoinColumns=@JoinColumn(name="test2ID"))
例子如下
单向多对一只需从多的一端访问一的一端即可
比如:多个人对应一个地址
单向多对一需要在多的一端添加对一的一端的引用,并添加注解@ManyToOne(cascade={CascadeType.ALL}) @JoinColumn(name="")
主要代码及例子
@ManyToOne(cascade={CascadeType.ALL}) @JoinColumn(name="")
<span style="font-family:Microsoft YaHei;font-size:14px;">//表一,学生表 @Entity @Table(name = "T_JC_test1") @Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'") public class Test1 extends BusinessEntity{ private static final long serialVersionUID = 2535128385272676564L; private String name;<span style="white-space:pre"> </span>//姓名 private Test2 address;<span style="white-space:pre"> </span>//地址(引用表二) @ManyToOne(cascade={CascadeType.ALL})<span style="white-space:pre"> </span>//</span><span style="font-family:Microsoft YaHei;font-size:14px;">cascade={CascadeType.ALL}级联保存相关的表</span><span style="font-family:Microsoft YaHei;font-size:14px;"> @JoinColumn(name="test1ID") public Test2 getAddress() { return address; } public void setAddress(Test2 address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } } //表二,地址表 @Entity @Table(name = "T_JC_test2") @Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'") public class Test2 extends BusinessEntity{ private static final long serialVersionUID = -7653945367481001205L; private String addressDetatil;<span style="white-space:pre"> </span>//详细地址 public String getAddressDetatil() { return addressDetatil; } public void setAddressDetatil(String addressDetatil) { this.addressDetatil = addressDetatil; } }</span>2.有链接表的单向多对一
只需在多的一方添加注解@ManyToOne(cascade=CascadeType.ALL) @JoinTable(name="T_JC_test1_test2",joinColumns=@JoinColumn(name="test1ID"),inverseJoinColumns=@JoinColumn(name="test2ID"))
例子如下
<span style="font-family:Microsoft YaHei;">//表一,学生表 @Entity @Table(name = "T_JC_test1") @Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'") public class Test1 extends BusinessEntity{ private static final long serialVersionUID = 2535128385272676564L; private String name;<span style="white-space:pre"> </span>//姓名 private Test2 address;<span style="white-space:pre"> </span>//地址(引用地址表) @ManyToOne(cascade={CascadeType.ALL}) @JoinTable(name="T_JC_test1_test2",joinColumns=@JoinColumn(name="test1ID"),inverseJoinColumns=@JoinColumn(name="test2ID")) public Test2 getAddress() { return address; } public void setAddress(Test2 address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } } //表二,地址表 @Entity @Table(name = "T_JC_test2") @Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'") public class Test2 extends BusinessEntity{ private static final long serialVersionUID = -7653945367481001205L; private String addressDetatil;<span style="white-space:pre"> </span>//地址详细信息 public String getAddressDetatil() { return addressDetatil; } public void setAddressDetatil(String addressDetatil) { this.addressDetatil = addressDetatil; } }</span>
相关文章推荐
- Linux基础--复制操作分析
- 使用GoLang实现文件远程传输
- 递归和递推求阶乘
- Linux配置apache等系列
- 开放平台(接口)开发-1-天气API接口大全
- 自动取款机 软件测试经验分享
- u-boot编译与烧录
- 容斥 + 组合数学 ---Codeforces Round #317 A. Lengthening Sticks
- spring配置文件-spring-config.xml
- POJ 2528 Mayor's posters(线段树成段更新+离散化)
- 3D导航网格
- 小榕作品下载地址
- 求树根节点到目标节点的路径
- java设计模式学习 ----- 工厂方法模式(Factory Method)
- 洛谷1115 最大子段和 解题报告
- Linux软件安装常用方法
- 他20岁创办社交网站,失败后再崛起,如今年收入2000万美元
- 把空间椭圆曲线的参数方程变成坐标平面上的隐函数方程
- 剑指offer-树中两个节点的最低公共祖先
- codeforces #550E Brackets in Implications 结构体