我有一个子查询,看起来像这样:
(由于性能问题,它已从包含中重写)

...(从RecoLock锁中选择,其中mpiSubscriptionId == this.mpiSubscriptionId).isEmpty())

而数据核使我



无法对org.datanucleus.store.rdbms.sql.expression.SubqueryExpression执行操作“ .isEmpty”



但是在数据核documentation中,有一些类似代码运行良好的示例。我究竟做错了什么?

数据核版本为4.1.0

最佳答案

从我所看到的对{subquery}.isEmpty()的DataNucleus JDOQL支持来看,仅v5.0才支持。

如果使用v4.x(或更早版本),则可以将查询转换为

... (select COUNT(lock) from RecoLock lock where mpiSubscriptionId == this.mpiSubscriptionId) == 0)


应该等同于“ size == 0”(即“空”)

09-26 18:43