hibernate 一对多关联

本文介绍了在软件开发中如何实现一对多的关系映射,并通过具体示例展示了两种不同的实现方式,一种是先创建医生集合再关联医院,另一种是先创建医院对象再添加医生。
虽然老师说不提倡使用一对多的映射,一般情况下推荐使用多对一设置实现,他们的效果是一样的,但是我们还是简单的讲了一点实现方法,以后估计很少用吧,记到这吧,说不定不用很快就想不起来了
现在定义了两个bean,一个是Hospital,另外一个叫做Doctor.
在Hospital中的属性为:
private Long id;
private String introduce;
private String characteristic;
private String hospitalDegree;
private String location;
private String howtogo;
private String imagefilePathName1;
private String imagefilePathName2;
private String imagefilePathName3;
private Set doctors = new HashSet<Doctor>();
在Doctor中的属性为:
private Long id;
private String name;
private String email;
private int age;
private String sex;//性别
private int doctorNum;//编号
现在要完成的效果是创建多个医生,加入到hospital中的HashSet里面,保存Hospital时候Doctor会自动保存。这里有两种方法都可以实现:
1.创建一个HashSet类对象hs,创建医生的过程中逐个加入到hs中【hs.add(doctor)】,然后new一个Hospital对象hp,用setter方法将hs的值赋予hp.doctors就可以了
2.先new一个Hospital对象hp,用getter方法获得hp.doctors,然后开始创建医生,创建过程中逐个加入到里面就可以了。
[color=blue]两种方法的代码如下:[/color]
方法1.
HospitalManager hmr = new HospitalManager();
HashSet<Doctor> ht = new HashSet<Doctor>();
for(int i=1;i<10;i++){
Doctor d = hmr.CreateDoctor("doctor"+i,30+i,"male",200+i);
ht.add(d);
}
Hospital h = hmr.CreateHospital(1,ht);
hmr.StoreObject(h);
方法2.
Hospital h = hmr.CreateHospital(1);
HashSet<Doctor> ht = (HashSet<Doctor>)h.getDoctors();
for(int i=1;i<10;i++){
Doctor d = hmr.CreateDoctor("doctor"+i,30+i,"male",200+i);
ht.add(d);
}
hmr.StoreObject(h);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值