• 金仓数据库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 。

  • 相关阅读:
    AI导航网
    嵌入式基础知识学习:Flash、EEPROM、RAM、ROM
    【CANoe】TX Self-ACK自应答配置与CPAL实现
    对SPA的理解、对 vue组件化的理解
    IK学习笔记(2)——TwoBones IK
    Flutter “Hello world“ 程代码
    微信小程序介绍
    Spark 3.0 - 7.LR 多分类实现影评预测电影评分与指标评测
    3D打印喷嘴大小如何选择0.2-0.5mm喷嘴
    请求包的大小会影响Redis每秒处理请求数量
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126888267