• 金仓数据库KingbaseES客户端编程开发框架-Hibernate(5. Hibernate注意事项)


    5. Hibernate注意事项

    1. HQL(JPA QL)不支持KingbaseES特有的函数,包括:TO_HEX、UNICODE、SETSEED、STRPOS、GET_BIT、GET_BYTE、SET_BIT、SET_BYTE、EMPTY_BLOB、EMPTY_CLOB、CAST、ARRAY_NDIMS、ARRAY_FILL、UNNEST和ARRAY_LENGTH等。

    2. HQL(JPA QL)不支持某些操作符,包括:+、^、%、&、|、||、#和~等,以及UNION、UNION ALL、INTERSECT、EXCEPT。

    3. 不支持INTERVAL数据类型以及返回值为INTERVAL的系统函数,包括:AGE、DATE_FORMAT、ISFINITE、STR_VALID和TIMEOFDAY。

    4. 对于近义的系统函数,只支持常用的名称,例如:sqrt(dsqrt)、cbrt(dcbrt)等。

    5. 对于重载的系统函数,只支持常用的参数及返回值类型,例如:LEFT(expr1 TEXT, expr2 INTEGER)、REPLICATE(expr1 TEXT, expr2 INTEGER)、RIGHT(expr1 TEXT, expr2 INTEGER)和SUBSTRING(expr1 TEXT, [FROM] expr2 INTEGER[,[FOR] expr3 INTEGER])等。

    6. 使用原生查询时,某些函数的返回值与KingbaseES有差异,例如:SIGN()应返回整型值但实际返回浮点型。

    7. 只有在查询时才可使用Query.getSingleResult() 方法,例如因为该方法会添加Limit子句,call function() 执行函数取返回值时使用该方法会构造一个不合法的SQL语句。

    8. 3.0.3和4两个版本的方言包中还包含一个名称为KingbaseBooleanDialect的方言包,对应的AcbaseT的方言包名称为AcbaseTBooleanDialect。该方言包用于hibernate使用Java的boolean类型映射数据库的numeric类型且使用hibernate默认的BooleanType时,hibernate执行操作可以将hql中boolean类型的true或者false转换成1或者0。 如:HQL语句 select p.name FROM Person p where p.sex=true 会转换为SQL语句 select person0_.name as col_0_0_ from person person0_ where person0_.sex=1 。

  • 相关阅读:
    力扣刷题日记
    量化交易系列【2】Pandas数据筛选及处理相关操作
    NBlog个人博客部署维护过程记录 -- 后端springboot + 前端vue
    13、用JS实现快速排序
    R语言非参数检验多重比较
    计算机毕业设计springboot+vue+elementUI独立学院资产管理系统
    第十章 数据库恢复技术
    深度学习 - 46.DIN 深度兴趣网络
    (vue)树文件夹点击,最后一层标记
    1333.餐厅过滤器【leetcode】【Java】
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126888267