注册

Hibernate Dialect缺失HQL中关于标准SQL函数的支持

随风 2024/11/11 420 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 官方Docker镜像(dm8_single:dm8_20241022_rev244896_x86_rh6_64)
【操作系统】:Docker
【CPU】: x86
【问题描述】*:
Spring Boot JPA搭配com.dameng:DmDialect-for-hibernate6.2:8.1.3.140com.dameng:DmJdbcDriver18:8.1.3.140,使用HQL count语句的时候报错

Cannot invoke "org.hibernate.query.sqm.function.SqmFunctionDescriptor.generateSqmExpression(org.hibernate.query.sqm.tree.SqmTypedNode, org.hibernate.query.ReturnableType, org.hibernate.query.spi.QueryEngine, org.hibernate.type.spi.TypeConfiguration)" because the return value of "org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.getFunctionDescriptor(String)" is null

对比其他Dialect实现,发现达梦的hibernate方言包里,DmDialectinitializeFunctionRegistry没有调用Dialect父类中的initializeFunctionRegistry,即super.initializeFunctionRegistry(functionContributions);,导致没有导入标准SQL的常用SQL函数,使得只要在HQL里使用函数就会报错,达梦的Hibernate方言包也没有提供源码,希望官方可以修复这个bug

回答 0
暂无回答
扫一扫
联系客服