我使用JPA Criteria API创建查询:
List<Area> areas = areaService.getAreasForUser(user);
Join<Equipment, Area> areaJoin = equipment.join(Equipment_.area);
wheres.add(areaJoin.get(Area_.id).in(areas));
这意味着我想获得Area
有权访问的所有User
。
在User
有Area
的情况下,它会评估为... where area.id IN (1, 2, 3)
哪个正常。
如果User
没有Area
,则评估为... where area.id IN ()
,这将导致错误。
你能给我一个提示如何解决这个问题吗?
由于