讨论下这样的系统需要ORM么?

现在做一个系统,是暴露查询接口给外部系统调用查询数据的功能。这个系统对数据库只有查询。现在需要用ORM么?我觉得直接用spring的jdbc模版也可以了。还有就是缓存的问题,查询的数据库是备份库,不会有数据的实时更新,怎么考虑呢,怎么提高命中率,是不是要采用Ehcache 还是OScache呢。
[该贴被vvvvv于2009-05-17 16:06修改过]
[该贴被vvvvv于2009-05-17 16:08修改过]

这个很难说,关键在于你们自己是否掌握ORM,然后结合项目进度等问题。

关键是ORM有没有用这里,有没有好处,不是熟悉的问题吧。我们已经考虑不用ORM了,因为系统设计是用户配置sql。缓存用ehcache估计就可以了。就是需要考虑缓存哪些东西,主要数据库很多东西都不会实时更新的。

[该贴被vvvvv于2009-05-18 17:09修改过]

我的经验是:领域模型对象+缓存 才是真正的缓存。

领域模型对象不一定用ORM框架,ORM框架只是减轻工作量,降低对象和数据库的阻抗。

banq 老师有什么建议啊,我们这个查询都是查询备份库的数据 备份库的数据定时由生产库导更新导入。查询的数据很多是一个人查询一次,以后会N久不来查询的。也不知道那些数据会突然有人来查询。怎么缓存呢 难道全部缓存。全部缓存也不可能啊。这样是不就没意义了呢?不知道那些数据可以缓存,缓存不了。
[该贴被vvvvv于2009-05-18 21:07修改过]

你这个系统根本不适用于缓存,因为你要提供给对方的是数据,而不是对象集合。而且对于客户的查询如果是固定不变的还可以适当考虑缓存,而对于有条件的查询、过滤,特别是数据量很大的情况是不适合使用缓存的。

不能缓存,系统查询效率就难提高了哦。

1)如果有许多客户查的都是vvvvv,那做缓存有意义。
2)或者数据库很小,那就干脆全部搬进内存中,也不需要缓存了。

暴露的接口肯定是带有条件的,在条件字段上加入索引,索引建在单独分区,应该是不会有什么问题的。

ACoder说的对啊,接口是有条件的,缓存是没什么意义。