为什么hibernate不建议使用sql语句?

TheBigBangWOW 2017-03-27 12:39:34
看到一个教程,说由于hibernate不建议使用sql语句,所以在使用shiro的时候创建自定义的realm,不用原生的jdbcrealm,因为原生的jdbcrealm使用的是sql语句

请问为什么hibernate不建议使用sql语句?

我的理解是hibernate提供了面向对象的查询语句,比如hql和qbc,所以不建议使用sql语句
但是还有更深层次的原因吗?

谢谢各位
...全文
668 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheBigBangWOW 2017-03-27
  • 打赏
  • 举报
回复
谢谢各位·······
will_66_lu 2017-03-27
  • 打赏
  • 举报
回复
之所以使用hiberate框架,主要是因为在设计框架的时候对数据库这块的曾删该查比较简单才使用的,如果要在Hiberate上拼接sql语句,那还真不如直接使用mybatis方便呢~
bree06 2017-03-27
  • 打赏
  • 举报
回复
他的意思是不用sql可以减少不同库带来的麻烦, 随着业务的扩展可能会从mysql转到oracle, 或者mongodb, 或者多种数据库同时存在, 如果使用hql就不用独立为sql升级了,
dzhengt 2017-03-27
  • 打赏
  • 举报
回复
hibernate框架,官方推荐的是HQL语句的查询机制。他是将jdbc进行了封装实现了面向对象的查询方式,符合Java的编程思想。其实hql执行底层还是将其转化sql执行的,它主要是提供了一种方便的查询机制。对于为什么不建议使用sql,个人感觉,既然将jdbc封装了,采用hql查询就没必要再使用sql了,简单的查询它们推荐hql查询。(个人看法:hql对于复杂的查询时hql显得就力不从心了,我有时依然使用的sql进行的查询,而且复杂sql-->hql不是多么容易)
ylovep 2017-03-27
  • 打赏
  • 举报
回复
业务复杂的话 还是不用hibernate 报表搞死你
nikyotensai 2017-03-27
  • 打赏
  • 举报
回复
哪还不如别用,直接jdbc
梦想南方 2017-03-27
  • 打赏
  • 举报
回复
那就失去了用hibernate 的意义了直接mybatis 就好了性能还好一些。
逗泥丸的平方 2017-03-27
  • 打赏
  • 举报
回复
没用过.. 一直用mybatis....... 听说hibernate有些操作比较简....单??? 总不能是指手拼sql被注入吧... 也许是为了数据库的通用性?
  • 打赏
  • 举报
回复
这个我也不知道,反正做了这么多年开发用的都是原生sql,hql只是在书上见过

67,513

社区成员

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

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