【发布时间】:2011-11-09 15:31:40
【问题描述】:
我的msql表中有Long类型的列,该列代表位故障。
我需要选择设置了所有几个标志的对象: 列值 & 标志 = 列值
我试试:
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 和 u.myValueFlags & 掩码 := 掩码],第 1 行,第 103 列:意外标记 [掩码]。内部的 异常:NoViableAltException(78!=[652:1: simpleConditionalExpressionRemainder[Object left] 返回 [Object 节点] : (n= compareExpression[left] | (n1= NOT )? n= conditionWithNotExpression[(n1!=null), 左] |是(n2= 不是)? n= isExpression[(n2!=null), left] );]) 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1328) 在 com.sun.enterprise.container.common.impl.EntityManagerWrapper.createQuery(EntityManagerWrapper.java:425)
【问题讨论】:
标签: jpql