2013-06-02 86 views
0

我有一个问题,在我的java jpa休眠选择查询。我试图找到不在指定组别的学生名单,但组别的分配在另一张桌子上。Hibernate java jpa查询

这里是我的尝试,但它不工作:

SELECT e FROM Student e WHERE e != (SELECT c.student FROM listaOsob WHERE c.grupa = :grupa) 
+0

我们能否看到域对象及其关系,例如具有关联组分配的Student类定义。 – blackpanther

+0

您不声明别名'c'。您需要使用'不在'来检查某个特定物品是否不在一组物品中。 –

+0

感谢鲍里斯。 c申报和使用“不在”解决了问题。如果你愿意,你可以添加一个答案。 – Gravian

回答

2

你不申报别名c。您需要使用NOT IN来检查某个项目是否为NOT IN一组项目。

喜欢的东西

SELECT e 
    FROM Student e 
    WHERE e NOT IN (
     SELECT c.student 
      FROM listaOsob c 
      WHERE c.grupa = :grupa) 

应该做的伎俩。