为了账号安全,请及时绑定邮箱和手机立即绑定

Spring 5 - 在 HQL 中使用未知的 SQL 函数

Spring 5 - 在 HQL 中使用未知的 SQL 函数

Helenr 2021-10-27 10:57:58
我尝试在 Spring 中使用 HQL 中的许多 MySQL 函数,这些函数是 Hibernate 不支持的,例如GROUP_CONCAT. Hibernate 会产生以下错误。Caused by: java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode  +-[METHOD_CALL] MethodNode: '(' |  +-[METHOD_NAME] IdentNode: 'GROUP_CONCAT' {originalText=GROUP_CONCAT} |  \-[EXPR_LIST] SqlNode: 'exprList' |     \-[DOT] DotNode: 'propertyre1_.id' {propertyName=id,dereferenceType=PRIMITIVE,getPropertyPath=id,path=property.id,tableAlias=propertyre1_,className=com.mypackage.MyClas,classAlias=property} |        +-[ALIAS_REF] IdentNode: 'propertyre1_.id' {alias=property, className=com.mypackage.MyClass, tableAlias=propertyre1_} |        \-[IDENT] IdentNode: 'id' {originalText=id}但是,我发现可以通过将 hibernate 添加到 hibernate 配置中来将 hibernate 配置为接受自定义函数...hibernateConfiguration.addSqlFunction("group_concat", new StandardSQLFunction("group_concat", new StringType()));我正在努力寻找一种使用 Spring Boot 和 Spring 5+ 访问休眠配置的方法。我发现了以下stackoverflow 帖子,但是这似乎适用于较旧版本的 spring,因为LocalSessionFactoryBean不再有命名方法postProcessConfiguration或任何其他明显的方法来操作配置。在 Spring 5+ 中构建会话工厂之前,有没有办法操纵休眠配置?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 406 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信