无法在 org.datanucleus.store.rdbms.sql.expression.SubqueryExpression 上执行操作“.isEmpty”
Cannot perform operation ".isEmpty" on org.datanucleus.store.rdbms.sql.expression.SubqueryExpression
我有一个如下所示的子查询:
(由于性能问题,它是从包含重写的)
...(select 来自 RecoLock 锁,其中 mpiSubscriptionId == this.mpiSubscriptionId).isEmpty())
datanucleus 给我一个
无法在 org.datanucleus.store.rdbms.sql.expression.SubqueryExpression
上执行操作“.isEmpty”
但在 datanucleus documentation 中有类似代码运行良好的例子。我做错了什么?
datanucleus 版本为 4.1.0
据我所知,DataNucleus JDOQL 对 {subquery}.isEmpty()
的支持仅从 v5.0 开始支持。
如果使用 v4.x(或更早版本),您可以将查询转换为执行
... (select COUNT(lock) from RecoLock lock where mpiSubscriptionId == this.mpiSubscriptionId) == 0)
应该等同于 "size == 0"(即 "empty")
我有一个如下所示的子查询: (由于性能问题,它是从包含重写的)
...(select 来自 RecoLock 锁,其中 mpiSubscriptionId == this.mpiSubscriptionId).isEmpty())
datanucleus 给我一个
无法在 org.datanucleus.store.rdbms.sql.expression.SubqueryExpression
上执行操作“.isEmpty”但在 datanucleus documentation 中有类似代码运行良好的例子。我做错了什么?
datanucleus 版本为 4.1.0
据我所知,DataNucleus JDOQL 对 {subquery}.isEmpty()
的支持仅从 v5.0 开始支持。
如果使用 v4.x(或更早版本),您可以将查询转换为执行
... (select COUNT(lock) from RecoLock lock where mpiSubscriptionId == this.mpiSubscriptionId) == 0)
应该等同于 "size == 0"(即 "empty")