我嘗試在 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
提交
取消