Hibernate 跨数据库就是神话?!

07-06-30 lyojbuilder
都说 hibernate可以跨多种数据库,但是这在实际项目中似乎是不可能的, 只要 hql 中有需要 length,
substring 这样的操作的时候, hibernate必须依赖于特定的数据库的写法了? 但是像这种 substring在操作数据库中是很平常的,就是说 hibernate 做的项目在实际项目中仍然是存在数据库移植问题的? hibernate 写的hql稍微复杂些就不能跨数据库了?

dd_macle
2007-06-30 12:43
我想所谓的跨数据库应该从两个角度来理解:
1、如果SQL语句符合标准,那应该不需要修改就能跨数据库运行;
2、如果SQL语句不标准,那么可以通过提供针对不同数据库的SQL语句来实现,在变换数据库的时候只需要配置,不需要改代码;

lyojbuilder
2007-06-30 16:11
例如下面的语句:


代码
from Approve a where length(a.approveId)=4


这个语句在不同的数据库就要写成不同的! 这样我就和使用 jdbc没太大区别了? 大家用 hibernate为了什么? 编程的方便? 写代码少? 提供了 cache? 各种理由都成立,但是 以后说hibernate可以跨数据库这个理由是不成立的了!