hibernate中,方言是解决hql翻译成sql保证语法的正确,首先数据库都是支持sql的,不同的数据库会存在一些语法上面的差异。
HQL则是基于对象的查询语言,当系统需要数据库的变换时,那么用hibernate的话就只需要改一改配置文件(修改连接字符串、驱动类、方言等),而用传统的jdbc时,那么sql语言可能就要有很多改动。

Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系型数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以在语法细节上存在一些差异,因此Hibernate需要根据数据库来识别这些差异。

举例来说,我们在MySQL数据库里进行分页查询,只需使用limit关键字就可以了;而标准SQL并不支持limit关键字,例如Oracle则需要使用行内视图的方式来进行分页。同样的应用程序,当我们在不同数据库之间迁移时,底层数据库的访问细节会发生改变,而Hibernate也为这种改变做好了准备,现在我们需要做的是:告诉Hibernate应用程序的底层即将使用哪种数据库——这就是数据库方言。

一旦我们为Hibernate设置了合适的数据库方言,Hibernate将可以自动应付底层数据库访问所存在的细节差异。

最新文章

  1. JAVA_javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
  2. 用vc生成可被python调用的dll文件
  3. 【leetcode】Merge Two Sorted Lists
  4. PHP的学习--连接MySQL的三种方式
  5. uniqid函数产生唯一id,减少碰撞几率
  6. PHP之function_handling 函数
  7. easyui中tree使用simpleData的形式加载数据
  8. 如何修改 EM12c 中 SYSMAN 用户的密码?
  9. 谈"自驱力"
  10. JSON与JSONP
  11. LESS中文版函数手册
  12. [C#常用代码]如何把指定文件夹中的文件移动到指定的文件夹
  13. MVC 强类型视图
  14. POJ 3525 Most Distant Point from the Sea (半平面交向内推进+二分半径)
  15. LA 3516 Exploring Pyramids (记忆化搜索)
  16. C#中怎么在EXCEL中的单元格中画斜线啊 ??
  17. Jquery 学习二
  18. 通过Java SE 7自带的监控服务(WatchService API)实现类似.NET FileWatcher的功能
  19. Hihocode 1015 KMP算法
  20. Lucene 04 - 学习使用Lucene的Field(字段)

热门文章

  1. (转)Inno Setup入门(二十二)——Inno Setup类参考(8)
  2. Java将对象写入文件读出——序列化与反序列化
  3. hdu 1576 A/B(拓展欧几里得)
  4. [转][Java]Jsp入门
  5. Socket通讯介绍
  6. Ui"三重天"之重温Uiaumator(1)
  7. 20181122_C#中AOP_使用Unity实现AOP
  8. Android:不同drawable文件夹的区别
  9. Python - 第一个 Django 项目
  10. 读《分布式一致性原理》CURATOR客户端3