JiveJdon Community Forums
在线310人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 32 回复 / 3 页 [ 1 2 3 下一页 ]  发表新帖子  回复该主题贴
guty

发表文章: 55
注册时间: 2003年06月29日 02:17
给他发消息
介绍一个hibernate的实际项目 发表: 2003年12月06日 03:30 回复

测试主页:http://brisoft.vicp.net/smice (需要IE6)

这是我们公司的一个实际产品,主要面向校园一卡通市场,目前
已经有了两个高校案例。不过这里,我主要是想介绍技术层面的
东西,交流一下Hibernate在实际项目中的应用。

我们公司从去年秋天就开始研究Hibernate,并在两个小项目中初步
使用,效果还可以。

因此在今年年初,新的校园一卡通项目启动时,就决定用Hibernate
来代替EJB作为主要的O-R技术。项目到这个星期,才算出了内部测试
版,化费了几乎4个人9个月的时间。九月份时,还用一个中间版本实
施了一个实际项目。

具体技术问题就不说了,只聊一些粗略的体会吧(我在论坛上向来只
喜欢务虚:) )
1. Hibernate的功能还是比较完善的,我们项目的需求还算比较复杂,
只有少量数据库的性能调整工作还需要手工做。
2. Hibernate的性能不错,特别是用了cache
3. Hibernate缺点也有很多,不过都不算很严重。唯一可以说是不能
接受的是2.0.3的Callback方法中无法对session操作,很难把一些业务
逻辑放到PO当中。在实际项目中,我们在Hibernate
上又封装了一层API,定义了自己的Callback。
4. 分析模型最重要。由于Hibernate简化了DB操作,闲下来的时间让人
自然提高对模型的要求。我们有相当长的时间花在模型设计和不断的refactor上。
5. 重构的诱惑。由于项目的目标是产品化,所以很多地方刻意追求,
几乎每一块代码都经过了3次以上较大的重构。这样做有好处,但也给
小组成员的配合上带来了问题。

我自己开发的统一认证和授权系统(没最终完成),有对这一块感兴趣的
朋友可以重点看看,多提些意见,谢谢。


开发环境:
Hibernate2.0.3
Eclipse/xdoclet/maven
Tomcat4.13
SQLServer2000
Win2000Server


部署环境:
RedHat 7
Websphere4
Oracle9i

另外,本贴同时贴在Jdon和Hibernate中文论坛上,顺便感谢banq和robbin两位
站长对Java社区所作的贡献。

guty@brisoft.com.cn
guty

发表文章: 55
注册时间: 2003年06月29日 02:17
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月06日 03:39 回复
还有一些数据:

数据对象:60多个
数据表: 39张表

系统主要负荷:每天6-7万笔交易流水
交易表数据量:>1000万条记录
shenli

发表文章: 59
注册时间: 2003年07月24日 17:50
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月06日 15:09 回复
好久没有看见大作了,呵呵

不过有两个问题想问问:

lifecycle callback不是传递了不是传递了session? 如果在PO里面操作session实际上就把PO和Hibernate绑定了,Gavin King自己认为CallBack是失败的,除非在PO上面增加接口?当然一般也可以不在乎

你们是直接使用PO还是把PO转换为VO?

PS: 好cool的界面
guty

发表文章: 55
注册时间: 2003年06月29日 02:17
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月06日 15:43 回复
lifecycle callback确实传递了Session,但并不意味着使用时需要绑定Hibernate,因为我们所有对Hibernate的操作都是封装的,可以用ThreadLocal变量获取当前的session.

>你们是直接使用PO还是把PO转换为VO
所有地方都只用PO。因为表现层用了OGNL,不存在Struts那样form对象和模型对象不匹配的问题。
guty

发表文章: 55
注册时间: 2003年06月29日 02:17
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月06日 15:45 回复
>>>PS: 好cool的界面

谢谢:)我们TEAM中,有一个是javascript高手,所有的界面工作几乎都是他做的。你看看我们的打印(在一卡通系统的交易模块可以看到),这是客户最满意的地方。
shenli

发表文章: 59
注册时间: 2003年07月24日 17:50
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月06日 16:17 回复
嗯,PO中增加callback应当没有什么很多问题,唯一的一点点也许就是PO不是纯粹的POJO了,有了Hibernate特有的东西,切换ORM有点不好,而且给客户端可能暴露了额外的方法,但是这些我觉得基本上也不是什么大问题

呵呵,我现在比较清楚OGNL是怎么做的了,主要的一个问题就是我比较喜欢的方式是有独立的逻辑层的,比如用Spring,把认证,事务之类的都围绕在业务对象.我目前遇到过的情况都可以想办法直接传输PO(非远程),只是不知道是否通用.

你们的打印真的厉害,是用javascript产生的吗?


agilejava

发表文章: 64
注册时间: 2003年11月01日 09:33
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月06日 17:33 回复
PO,VO,OGNL这是什么啊?谢谢!
mirage

发表文章: 9
注册时间: 2003年08月02日 18:20
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月07日 16:26 回复
我一点击打印,浏览器就死了
mirage

发表文章: 9
注册时间: 2003年08月02日 18:20
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月07日 16:38 回复
> >>>PS: 好cool的界面
>
> 谢谢:)我们TEAM中,有一个是javascript高手,所有的界面
> ぷ骷负醵际撬龅摹D憧纯次颐堑拇蛴。ㄔ谝豢ㄍㄏ低车慕灰
> 模块可以看到),这是客户最满意的地方。

界面用了不少WebFX的javascript代码,我一看就知道,不知道你们有没有取得作者的授权。
WebFX是要收费的,我一致没有把它用于商业用途。
mirage

发表文章: 9
注册时间: 2003年08月02日 18:20
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月07日 16:43 回复
对不起,我好像记混了,应该Bindows是收费,WebFX不是
tozhy

发表文章: 6
注册时间: 2003年11月25日 17:53
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月08日 14:24 回复
对你们的界面实现很感兴趣!。。。
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月08日 18:02 回复
多谢guty的Hibernate实践,看来使用Hibernate在开发效率上要提高很多。
agilejava

发表文章: 64
注册时间: 2003年11月01日 09:33
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月08日 18:57 回复
我们目前在做一个小项目,正在使用Hibernate,感觉不错,开发速度比较快。
crogers

发表文章: 84
注册时间: 2003年10月11日 13:47
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月08日 20:25 回复
> 对你们的界面实现很感兴趣!。。。
做好javascript,要付出和学java一样的功夫,呵呵~

iceant

发表文章: 462
注册时间: 2002年10月13日 22:32
给他发消息
Re: 介绍一个hibernate的实际项目 发表: 2003年12月08日 20:57 回复
做界面要花掉项目 40% 左右的时间,甚至更多~~ 不容易~~
如果能做到跨 Browser 就更好了
这个主题有 32 回复 / 3 页 [ 1 2 3 下一页 ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam