首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate OneToMany 单向跟双向配置对数据存取性能的比较

2012-10-28 
Hibernate OneToMany 单向和双向配置对数据存取性能的比较1. 开篇说明:今天是春节长假的最后一天,春节过后

Hibernate OneToMany 单向和双向配置对数据存取性能的比较

1. 开篇说明:今天是春节长假的最后一天,春节过后博客将继续,这篇博客主要用来总结年前的研究结果,研究的主要Hibernate OneToMany 单向和双向配置对数据存取性能的问题。本文按照我测试实验的过程,最后得出结论。

?

2. 本文实验是基于之前博客EJB 学习阶段总结:JBoss下发布一个Toy企业应用,在此工程基础上,在实体中添加一对独立的一对多关系如下图:
Hibernate OneToMany 单向跟双向配置对数据存取性能的比较
?如上图Man和Lover是一对多关系,一个Man可以有多个Lover,为了简单我们设定Man和Lover都只有Id和name属性,我们在com.home.po中添加Entity Man和Lover的代码如下:

?

?

3 配置JBoss的日志文件,让其输出Hibernate数据库操作语句

Hibernate日志输出文件配置在JBoss_Home\server\production\conf下jboss-log4j.xml文件中,要输出Hibernate的SQL语句只需在jboss-log4j.xml的配置文件中添加Category和相应的Appender,如下:

?

?

4 一对多单向配置下插入一个Man查看日志

在Man中添加单向配置:

插入一个Man一个Man对应两个Lover后?查看日志如下:


?即完成插入100个Man,一个Man对应1000个Lover 需要时间大概是110秒

?

5 一对多双向下插入Man及对应的Lover查看日志

修改实体类

Man实体如下:

?同样插入一个Man一个Man对应两个Lover后?查看日志如下:


??即完成插入100个Man,一个Man对应1000个Lover 需要时间大概是90秒

?

6 结论:比较步骤4和步骤5,可以看到同样是插入100个Man,一个Man对应1000个Lover 用双向配置节约了20秒时间,即结论:一对多关系一般推荐使用双向配置

1 楼 mojunbin 2012-05-30   呵呵..好.

热点排行