|
这个主题共有 32 回复 / 3 页 [
1 2 3
下一页
]
|
|
|
|
|
|
介绍一个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
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月06日 03:39
|
回复
|
|
还有一些数据:
数据对象:60多个 数据表: 39张表
系统主要负荷:每天6-7万笔交易流水 交易表数据量:>1000万条记录
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月06日 15:09
|
回复
|
|
好久没有看见大作了,呵呵
不过有两个问题想问问:
lifecycle callback不是传递了不是传递了session? 如果在PO里面操作session实际上就把PO和Hibernate绑定了,Gavin King自己认为CallBack是失败的,除非在PO上面增加接口?当然一般也可以不在乎
你们是直接使用PO还是把PO转换为VO?
PS: 好cool的界面
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月06日 15:43
|
回复
|
|
lifecycle callback确实传递了Session,但并不意味着使用时需要绑定Hibernate,因为我们所有对Hibernate的操作都是封装的,可以用ThreadLocal变量获取当前的session.
>你们是直接使用PO还是把PO转换为VO 所有地方都只用PO。因为表现层用了OGNL,不存在Struts那样form对象和模型对象不匹配的问题。
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月06日 15:45
|
回复
|
|
>>>PS: 好cool的界面
谢谢:)我们TEAM中,有一个是javascript高手,所有的界面工作几乎都是他做的。你看看我们的打印(在一卡通系统的交易模块可以看到),这是客户最满意的地方。
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月06日 16:17
|
回复
|
|
嗯,PO中增加callback应当没有什么很多问题,唯一的一点点也许就是PO不是纯粹的POJO了,有了Hibernate特有的东西,切换ORM有点不好,而且给客户端可能暴露了额外的方法,但是这些我觉得基本上也不是什么大问题
呵呵,我现在比较清楚OGNL是怎么做的了,主要的一个问题就是我比较喜欢的方式是有独立的逻辑层的,比如用Spring,把认证,事务之类的都围绕在业务对象.我目前遇到过的情况都可以想办法直接传输PO(非远程),只是不知道是否通用.
你们的打印真的厉害,是用javascript产生的吗?
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月06日 17:33
|
回复
|
|
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月07日 16:26
|
回复
|
|
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月07日 16:38
|
回复
|
|
> >>>PS: 好cool的界面 > > 谢谢:)我们TEAM中,有一个是javascript高手,所有的界面 > ぷ骷负醵际撬龅摹D憧纯次颐堑拇蛴。ㄔ谝豢ㄍㄏ低车慕灰 > 模块可以看到),这是客户最满意的地方。
界面用了不少WebFX的javascript代码,我一看就知道,不知道你们有没有取得作者的授权。 WebFX是要收费的,我一致没有把它用于商业用途。
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月07日 16:43
|
回复
|
|
|
对不起,我好像记混了,应该Bindows是收费,WebFX不是
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月08日 14:24
|
回复
|
|
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月08日 18:02
|
回复
|
|
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月08日 18:57
|
回复
|
|
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月08日 20:25
|
回复
|
|
> 对你们的界面实现很感兴趣!。。。 做好javascript,要付出和学java一样的功夫,呵呵~
|
|
|
|
|
|
Re: 介绍一个hibernate的实际项目
|
发表: 2003年12月08日 20:57
|
回复
|
|
做界面要花掉项目 40% 左右的时间,甚至更多~~ 不容易~~ 如果能做到跨 Browser 就更好了
|
|
|
|
|
|
这个主题有 32 回复 / 3 页 [
1 2 3
下一页
]
|
|
|