hibernate切换了不同的数据库,那hql还需要改动吗?它会自动转换成对应数据库语言的sql吗

 我来答
mikemelon2012
推荐于2017-09-24 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:390万
展开全部

不需要改动。hql是独立于数据库的,hibernate切换数据库以后,除了jdbc的一些如地址、用户名、密码要换以外。

Hibernate支持不同的数据库主要是用方言也就是dialect的,对应就是hibernate.cfg.xml配置文件里的一个设置,比如 SQL Server的就是:

<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>

这里的org.hibernate.dialect.SQLServerDialect是hibernate带的或你自己提供的一个数据库数据类型映射的一个Java类,由它处理不同数据库的区别。

但是如果不同的数据库之间差别太大的话,即直接要写不同的SQL语句的话,Hibernate的dialect也处理不了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式