使用Hibernate的疑惑

09-10-27 crycz

一个数据库,在mysql中是database, 即schema,有些数据库中叫catalog

如果一个项目里面我要使用连链几个数据库,即有几个配置文件,或几个连接单元,

对缓存会不会产生其他问题,对性能有没有影响?会不会造成数据池资源浪费?

另:hibernate对表的个数有没有限制,或者说多少表比较合适

网上没查到,谁知道帮忙一下,谢谢

IceQi
2009-10-27 21:28

一般来说每个Hibernate应用只提供对一个数据库的链接,虽然也有人通过修改Hibernate的源文件实现了对多个数据库的链接但是我认为这样不一定能够保证稳定性和兼容性,因为人家也许本来就不是这么设计的。

至于缓存Hibernate有2级缓存,第一级在一个请求过程内部这其中的数据是不会受到影响的,因为这部分不可能跨越数据库。另外的就是二级缓存,对于这部分缓存的使用就要依靠你对于系统和业务过程的理解了,即使只对应一个数据库如果使用不当依然会造成很麻烦的问题。

其他的我不太清楚。我有个问题你这个系统的目标数据量是多少?

crycz
2009-10-28 08:49

>IceQi

谢谢~

目前有170个表,下一步还有大模块要做

如果加在一起估计有250个。

现在就麻烦了,随便系统功能的增加,

表数量肯定会增加,这些表是有关联的,

放在一起怕影响性能,分开又不推荐

IceQi
2009-10-28 19:47

==========放在一起怕影响性能,分开又不推荐

什么意思?因为怕影响性能所以将表分散到不同的数据库中?

250个表是什么概念~~~我没有做这么多表的经验。

反过来想想是不是一个系统组件真的要管理这么多数据呀?有没有可能把其中的功能分散开,建立多个独立服务呢?

在我的经验里往往一个东西达到一定的规模时就是一个适当的拆分时机了。