Hibernate
框架可以将面向关系的
数据库模型封装成面向对象的数据库模型,这样以来一方面了我们在具体应用中的数据库设计,另一方面又简化了我们的编码。然而在现实中我们往往会发现有些面
向关系的数据库模型转化成面向对象的数据库模型之后很难再
Hibernate
中
配置。比如:在多对多关系模型中,中间表往往含有自己的属性,这种情况在
Hibernate
中
该如何配置?我在网上查了好多资料都说将多对多拆成两个一对多的方式来解决,这样做也不错,不过我个人觉得使用起来比较麻烦,更主要的一点是这种方法将
Hibernate
面向对象的设计思想降低到了关系型设计,
Hibernate
带来的好处就只有编码方便这一点了。
下面我给大家提供一种
Hibernate
中
多对多关系表中有属性的使用方法。
1
、
Project
和
Programmer
的
实体关系图如下:
2
、将
project
、
programmer
、
participate
封装成三个实体
private Integer projectId;
private String projectNumber;
private String projectName;
private Map programmers;
get..
set..
}
public class Programmer {
private Integer programmerId;
private String programmerName;
private Map projects;
get..
set..
}
public class Participate {
private Date startDate;
private Date endDate;
get..
set..
}
3
、配置属性文件
Project.hbm.xml
Programmer.hbm.xml
4
、你调用调试就可以了
注意:
在
其中一方要用
inverse=
“
true
”来实现控制翻转,在这一方的
<calss
/>
要添加
lasy=
“
false
”的属性,以便对方控制。