Hibernate

原创 2004年09月03日 16:05:00

测试主页: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

收藏助手
不良信息举报
您举报文章:Hibernate
举报原因:
原因补充:

(最多只允许输入30个字)