hibernate 缓存问题

06-05-26 hoticeses
hibernate依靠缓存提高性能我非常喜欢。但对其详细机制不是很了解,结合我现在涉及的项目来讲,现在我们的项目同时运行两套系统,一个是我们基于J2EE的B/S系统,用于客户访问,为用户提供服务。另一个是后台核心业务系统,有C/C++实现并为我们这套系统提供接口。我们两套系统都会操作数据库,假如我们采用hibernate,缓存中维护这一些数据,而此时后台C/C++系统修改了数据库中的数据,hibernate缓存中的数据汇同步更新吗?如果不更新,那将是很危险的事情啊。

如果采用ibatis呢,那也用缓存机制,是不是一样危险啊?

请教各位高手 前辈

万分感谢

banq
2006-06-06 11:06
>hibernate缓存中的数据汇同步更新吗?

不会,hibernate缓存不是分布式缓存,不会跨多台服务器的,其他持久层技术都是单台而言(EJB的实体Bean除外)。

你不但跨服务器,而且是跨异构平台,可能需要JMS这样异步系统来通知Hibernate所在的Java系统自己实现缓存更新了,比较复杂。

hoticeses
2006-06-15 22:50
是啊 我也是这样认为的 所以没有采用hibernate 太危险了

如果只有我一个系统使用此数据库 C/C++系统使用另一个库,

用什么框架比较好啊?hibernate封装太死了 不知道ibatis怎么样?

asklxf
2006-06-22 15:08
你可以关掉hibernate缓存,又不是一定要用

banq
2006-06-22 16:10
>用什么框架比较好啊?hibernate封装太死了 不知道ibatis怎么样?

hibernate的缓存是封装太死,无法透明访问,iBatis也是如此,我个人解决问题是使用JdonFramework,其缓存是通过一个类直接引用就可以,无论在表现层、业务层和持久层都能直接访问,操作灵活。

猜你喜欢