substring 这样的操作的时候, hibernate必须依赖于特定的数据库的写法了? 但是像这种 substring在操作数据库中是很平常的,就是说 hibernate 做的项目在实际项目中仍然是存在数据库移植问题的? hibernate 写的hql稍微复杂些就不能跨数据库了?
1、如果SQL语句符合标准,那应该不需要修改就能跨数据库运行;
2、如果SQL语句不标准,那么可以通过提供针对不同数据库的SQL语句来实现,在变换数据库的时候只需要配置,不需要改代码;
代码
from Approve a where length(a.approveId)=4
这个语句在不同的数据库就要写成不同的! 这样我就和使用 jdbc没太大区别了? 大家用 hibernate为了什么? 编程的方便? 写代码少? 提供了 cache? 各种理由都成立,但是 以后说hibernate可以跨数据库这个理由是不成立的了!
猜你喜欢
本站原创《复杂软件设计之道:领域驱动设计全面解析与实战》