我在我的msql表中Long類型的列中,此列表示位falgs。JPQL查詢位標誌
我需要選擇所有的幾個標誌設置對象: columnValue &標誌= columnValue
我嘗試:
javax.persistence.Query q = getEntityManager().createQuery("SELECT u FROM Userattributes u WHERE u.myValueFlags & mask := mask");
q.setParameter("mask", mask);
但我有一個語法錯誤:
導致:java.lang.IllegalArgumentException:在EntityManager中創建查詢時發生異常 :異常說明: 解析查詢的語法錯誤[SELECT u FROM Userattributes u WHERE u.userattributesPK.attributeID =:attributeId and u.myValueFlags & mask := mask],line 1,column 103:unexpected token [mask]。內部 異常:NoViableAltException(78!= [652:1: simpleConditionalExpressionRemainder [Object left]返回[Object node] :(n = compareExpression [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) 在com.sun.enterprise.container.common.impl.EntityManagerWrapper.createQuery(EntityManagerWrapper.java:425)