小编Ser*_*ito的帖子

JPA @NamedQuery以按位AND(&)作为条件

有谁知道如何使用按位AND(&)作为JPA NamedQuery的准则,而不必使用@NamedNativeQuery?

我将状态位存储在字段中。

我将以下def用于视图的实体:

@NamedQueries({
    @NamedQuery(name="ViewProductsList.findAll", query="SELECT v FROM ViewProductsList v"),
    @NamedQuery(name="ViewProductsList.findFeatured", query="SELECT v FROM ViewProductsList v WHERE v.statusId & 16"),
    @NamedQuery(name="ViewProductsList.findBySubcategory", query="SELECT v ViewProductsList v WHERE v.subcatId IN (:subcatIds)"),
})
Run Code Online (Sandbox Code Playgroud)

第一个工作正常,但第二个不喜欢该表达式,我得到以下信息:

18:02:13,528 DEBUG [DataNucleus.Query] - JPQL Single-String with "SELECT v FROM ViewProductsList v WHERE v.statusId & 16"
18:02:13,553 DEBUG [DataNucleus.Query] - JPQL Query : Compiling "SELECT v FROM ViewProductsList v WHERE v.statusId & 16"
>>ERROR: 'Portion of expression could not be parsed: & 16'
Run Code Online (Sandbox Code Playgroud)

在生产中使用dev MySQL数据库和Google Cloud SQL,因此它必须在两个版本上都可以使用...

有任何想法吗? …

mysql jpa datanucleus bitwise-and

1
推荐指数
1
解决办法
2842
查看次数

标签 统计

bitwise-and ×1

datanucleus ×1

jpa ×1

mysql ×1