2014-12-05 124 views
0

在我的项目的一些,我发现下面的语法什么是where子句

createQuery("select stuInfo from StudentInfo stuInfo, IN(stuInfo.studentList) studentList " 
    + "where stuInfo.completed =:completed and studentList.Date is null"); 

我试图谷歌之前的关键字使用Hbernate它有什么用的IN关键字where子句前,但我没有找到关于这个概念的任何解释。

+1

你有任何证据证明它是合法的HQL语法吗? – 2014-12-05 10:44:20

+0

我不能提供任何证据,但我可以说这个查询正在我的项目从过去2年,在调试过程中,我发现这一点。 – Amit 2014-12-05 10:46:04

+0

“StudentInfo.studentList”的类型是什么? – 2014-12-05 10:50:25

回答

1

我检查了它,它只是一个用于内部连接速记,你的情况

select stuInfo from StudentInfo stuInfo inner join stuInfo.studentList studentList ... 

这里居然是更有意义的使用别名student,不studentList,因为这是你指的是什么它。

+0

您有任何链接 – Amit 2014-12-05 10:59:04

+0

我在我的机器上试过了。没有链接(还)。 – 2014-12-05 10:59:53

+0

感谢Marko! – Amit 2014-12-05 11:02:00