我试图运行一个复杂的JPQL查询,它不会抛出异常,而且工作起来很奇怪。
下面是我的问题
SELECT b.pk.col1, b.pk.col2
FROM table1 b
WHERE b.pk.col2 IN ('someString')
AND b.pk.col3 IN (0, 1, 2)
AND b.pk.sdate < :now
AND b.edate > :now
AND b.col4 = 1
AND EXISTS
(SELECT a.cmid
FROM table2 a
WHERE a.col1 = 5 AND a.col2 = b.pk.col1)
AND b.pk.col1 NOT IN
(SELECT a.pk.col1
FROM table3 a
WHERE CONCAT (a.pk.tagid, 'ayush') IN ('1ayush'))
SELECT b.pk.col1, b.pk.col2
FROM table1 b
WHERE b.pk.col2 IN ('someString')
AND b.pk.col3 IN (0, 1, 2)
AND b.pk.sdate < :now
AND b.edate > :now
AND b.col4 = 1
AND EXISTS
(SELECT a.cmid
FROM table2 a
WHERE a.col1 = 5 AND a.col2 = b.pk.col1)
AND b.pk.col1 NOT IN
(SELECT a.pk.col1
FROM table3 a
WHERE CONCAT (a.pk.tagid, 'ayush') IN ('1ayush'))
编辑:这是我的新JPA查询,我给它一个集合,而不是一些硬编码的值
SELECT b.pk.col1, b.pk.col2
FROM table1 b
WHERE b.pk.col2 IN ('someString')
AND b.pk.col3 IN (0, 1, 2)
AND b.pk.sdate < :now
AND b.edate > :now
AND b.col4 = 1
AND EXISTS
(SELECT a.cmid
FROM table2 a
WHERE a.col1 = 5 AND a.col2 = b.pk.col1)
AND (b.pk.col1 NOT IN
(SELECT a.pk.col1
FROM table3 a
WHERE CONCAT (a.pk.tagid, 'ayush') IN (:somelist)))
我仍然得到同样的例外
“xxx IN yyy”
应为“{someValue}IN{someCollection}
”。右侧没有集合,因此出现异常。如果您的查询现在确实在右边有一个集合(在post中没有),并且仍然得到一个异常,那么就发布实际的异常+堆栈跟踪。如果“xxx”和“yyy”应该相等,那么就使用“=”
我刚才向您展示了部分代码,在实体中messageId是长的,而在Oracle DB中它的编号是长的。当我尝试和long变量一样工作时,当我传递long数组时,它似乎就不工作了。如果有人遇到这样的问题,总有人能帮上忙。这就是错误所在 14:24:49,428信息[LongType]无法将值“[J@14F76DA”绑定到参数:1;[J不能强制转换为java.lang.Long
我试图了解java中的运算符,如链接:-instanceof 但当我尝试运行以下代码时:- } 我在编译时遇到以下错误: 下面是放置src代码的目录结构:- 注意:我从
问题内容: 是JPA的新手,并且能够快速获取它,我一直在尝试在查询中使用“ IN”运算符进行选择查询,并且一直在获取错误。我所做的是,我从一个函数中获取了一个(长)消息ID数组,并用它根据这些ID选择记录。这是我的查询 我刚刚向您展示了部分代码,其中实体messageId为long,而在Oracle DB中为数字。当我尝试使用尽可能长的变量时,当我传递长数组时,它似乎不起作用。如果有人遇到这样的问
我有如下疑问, 我通过如下传递值来调用服务方法。 但它回来了。。。[] 帮助我为什么我没有得到值,而是得到了空列表。 附言:我检查了日志,它的语句是创建的,没有任何问题
问题内容: 我已经将奇怪的MySQL问题归结为执行查询的两种不同方式。当您煮沸所有东西时,这种方式将返回更多结果: 对WHERE子句的此更改将产生这些结果的子集: (promo_detail_store_id在MyISAM表中定义为BIGINT。) 最初,该store_ids列表要长得多,而我开始将其切得越来越短,以为字符串的长度可能存在一些怪异的限制。但是不,它也适用于很小的字符串/列表。显然,
本文向大家介绍MySQL XOR运算符与IN子句?,包括了MySQL XOR运算符与IN子句?的使用技巧和注意事项,需要的朋友参考一下 如果一个或另一个操作数(或表达式)但不是两个都为TRUE,则MySQL XOR返回TRUE。IN子句用于指定任何其他MySQL查询的条件。 让我们先创建一个表 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 输出结果 这将产生以下输出-