gpt4 book ai didi

JPQL 查询位标志

转载 作者:行者123 更新时间:2023-12-04 06:15:33 26 4
gpt4 key购买 nike

我在我的 msql 表列中有 Long 类型,该列表示位标记。

我需要选择为其设置了所有几个标志的对象:
columnValue & flags = columnValue

我尝试:

javax.persistence.Query q = getEntityManager().createQuery("SELECT u FROM Userattributes u WHERE  u.myValueFlags & mask :=  mask");
q.setParameter("mask", mask);

但我有一个语法错误:

Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: Exception Description: Syntax error parsing the query [SELECT u FROM Userattributes u WHERE u.userattributesPK.attributeID =:attributeId and u.myValueFlags & mask := mask], line 1, column 103: unexpected token [mask]. Internal Exception: NoViableAltException(78!=[652:1: simpleConditionalExpressionRemainder[Object left] returns [Object node] : (n= comparisonExpression[left] | (n1= NOT )? n= conditionWithNotExpression[(n1!=null), left] | IS (n2= NOT )? n= isExpression[(n2!=null), left] );]) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1328) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createQuery(EntityManagerWrapper.java:425)

最佳答案

这是不可能的,因为 JPQL 不支持按位运算。

关于JPQL 查询位标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com