比如我在Hibernate写一个mysql的分页查询使用的是原生SQL,没有使用HQL语句,那我想要把数据库改成Oracle,方言配置的是Oracle那这个SQL会不会报不能啊?

解决方案 »

  1.   

    如果分页了,使用了原生的查询SQL语句,并且存在分页的情况下肯定会报错,因为mysql和oracle的分页语法完全不同,
      

  2.   

    那如果使用的hql语句写的分页,在把数据库改成oracle,方言配置为配置成oracle的,hibernate就会自动转换成oracle的分页语句了吧?
      

  3.   

    那如果使用的hql语句写的分页,在把数据库改成oracle,方言配置为配置成oracle的,hibernate就会自动转换成oracle的分页语句了吧?是的,hibernate会根据你的数据库的配置,把HQL生成对应的数据库的sql语句。如果是原生的sql则不进行转换。HQL的好处:1、减化sql的编写,可以让程序员从复杂的sql中解脱出来,2:增强数据库的可移值性。
      

  4.   

    那如果使用的hql语句写的分页,在把数据库改成oracle,方言配置为配置成oracle的,hibernate就会自动转换成oracle的分页语句了吧?是的,hibernate会根据你的数据库的配置,把HQL生成对应的数据库的sql语句。如果是原生的sql则不进行转换。HQL的好处:1、减化sql的编写,可以让程序员从复杂的sql中解脱出来,2:增强数据库的可移值性。
    好的 明白了 谢谢