Hibernate中使用原生SQL,那配置的方言还起作用嘛?

辣鸡小白 2019-08-13 10:14:59
比如我在Hibernate写一个mysql的分页查询使用的是原生SQL,没有使用HQL语句,那我想要把数据库改成Oracle,方言配置的是Oracle那这个SQL会不会报不能啊?
...全文
111 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40290083 2019-08-13
  • 打赏
  • 举报
回复
如果分页了,使用了原生的查询SQL语句,并且存在分页的情况下肯定会报错,因为mysql和oracle的分页语法完全不同,
辣鸡小白 2019-08-13
  • 打赏
  • 举报
回复
引用 3 楼 weixin_40290083的回复:
[quote=引用 2 楼 weixin_42466157 的回复:] [quote=引用 1 楼 weixin_40290083的回复:]如果分页了,使用了原生的查询SQL语句,并且存在分页的情况下肯定会报错,因为mysql和oracle的分页语法完全不同,
那如果使用的hql语句写的分页,在把数据库改成oracle,方言配置为配置成oracle的,hibernate就会自动转换成oracle的分页语句了吧?[/quote] 是的,hibernate会根据你的数据库的配置,把HQL生成对应的数据库的sql语句。如果是原生的sql则不进行转换。HQL的好处:1、减化sql的编写,可以让程序员从复杂的sql中解脱出来,2:增强数据库的可移值性。[/quote] 好的 明白了 谢谢
weixin_40290083 2019-08-13
  • 打赏
  • 举报
回复
引用 2 楼 weixin_42466157 的回复:
[quote=引用 1 楼 weixin_40290083的回复:]如果分页了,使用了原生的查询SQL语句,并且存在分页的情况下肯定会报错,因为mysql和oracle的分页语法完全不同,
那如果使用的hql语句写的分页,在把数据库改成oracle,方言配置为配置成oracle的,hibernate就会自动转换成oracle的分页语句了吧?[/quote] 是的,hibernate会根据你的数据库的配置,把HQL生成对应的数据库的sql语句。如果是原生的sql则不进行转换。HQL的好处:1、减化sql的编写,可以让程序员从复杂的sql中解脱出来,2:增强数据库的可移值性。
辣鸡小白 2019-08-13
  • 打赏
  • 举报
回复
引用 1 楼 weixin_40290083的回复:
如果分页了,使用了原生的查询SQL语句,并且存在分页的情况下肯定会报错,因为mysql和oracle的分页语法完全不同,
那如果使用的hql语句写的分页,在把数据库改成oracle,方言配置为配置成oracle的,hibernate就会自动转换成oracle的分页语句了吧?

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧