JPQL FROM 部分
JPQL FROM section
我想优化数据库中的查询数量。目前在 REST 上会出现设备列表。需要检查是否添加了新设备。现在它是这样工作的:从数据库中选择当前用户的所有设备,并检查(使用从请求中收到的列表)是否存在新设备。我想把所有的工作都翻译成一个数据库,然后做这样的事情:
select p
from :firstParam p
where p.sdauId NOT IN (select t.id
from Equipment t
where t.owner.id = :secondParam)
参数“:firstParam”是从请求中收到的设备列表。 ":secondParam" 是用户标识。
我可以像那样使用“来自”部分吗?在阅读文档并多次尝试提出类似请求后,没有任何结果。如果您提供有关编写请求或解决此类问题的方法的任何提示,我将不胜感激。
数据库对象名称(例如数据库、table、列名称)无法在准备好的语句中使用占位符进行绑定。因此,您必须对第一个 table:
的名称进行硬编码
select p
from yourTable p -- cannot use a parameter for table names
where p.sdauId NOT IN (select t.id from Equipment t where t.owner.id = :secondParam)
我想优化数据库中的查询数量。目前在 REST 上会出现设备列表。需要检查是否添加了新设备。现在它是这样工作的:从数据库中选择当前用户的所有设备,并检查(使用从请求中收到的列表)是否存在新设备。我想把所有的工作都翻译成一个数据库,然后做这样的事情:
select p
from :firstParam p
where p.sdauId NOT IN (select t.id
from Equipment t
where t.owner.id = :secondParam)
参数“:firstParam”是从请求中收到的设备列表。 ":secondParam" 是用户标识。
我可以像那样使用“来自”部分吗?在阅读文档并多次尝试提出类似请求后,没有任何结果。如果您提供有关编写请求或解决此类问题的方法的任何提示,我将不胜感激。
数据库对象名称(例如数据库、table、列名称)无法在准备好的语句中使用占位符进行绑定。因此,您必须对第一个 table:
的名称进行硬编码select p
from yourTable p -- cannot use a parameter for table names
where p.sdauId NOT IN (select t.id from Equipment t where t.owner.id = :secondParam)