我尝试在 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+ 中构建会话工厂之前,有没有办法操纵休眠配置?
添加回答
举报
0/150
提交
取消