初学ssh框架,对其中hibernate的数据库方言设置很是不解,原因在于我在设置数据库驱动的时候不就已经指定数据库类型了么?底层数据库访问就应该采用的是该数据库类型的访问机制与语法了。
为什么还要多一个方言设置?感觉多此一举,或者有别的用途?求解

解决方案 »

  1.   

    你放的驱动包那只是JDBC连接所必须的,他只是起到一个桥梁的作用,但是实际的语句还是需要你来决定的,在hibernate里面统一写的是面向对象的hql,但是每个数据库的一些语句都不大一样,比如有些数据库 SELECT 用大写,有些数据库select用小写,那么hibernate就必须要你告诉他,你想使用什么样的方言来支持你这个数据库。
      

  2.   

    不明白,或者说我觉得hibernate是不是可以做得我设置了数据库驱动就自动匹配默认方言。
    因为数据库驱动字符串几乎每个厂家都是固定的。很容易一一对应
      

  3.   

    好吧。我大概了解你的意思了。还是觉得hibernate的配置文件太多,应该用少量配置大部分用程序动态处理好点。