如何在查询JPA中的QueryDsl中使用此函数
SUBSTRING_INDEX(str,delim,count)
在分隔符delim的计数出现之前,从字符串str返回子字符串.
更新1:
在尝试了@MaciejDobrowolski解决方案之后:
QAcheteur ach = new QAcheteur("ach");
new JPAQuery(entityManager).from(ach)
.list( Expressions.stringTemplate("SUBSTRING_INDEX({0},',',1)", ach.ancestors) );
我收到了这个错误:
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'SUBSTRING_INDEX' {originalText=SUBSTRING_INDEX}
\-[EXPR_LIST] SqlNode: 'exprList'
+-[DOT] DotNode: 'acheteur1_.ancestors' {propertyName=ancestors,dereferenceType=PRIMITIVE,getPropertyPath=ancestors,path=ach.ancestors,tableAlias=acheteur1_,className=persistence.Acheteur,c