Grails ExecuteQuery在select上提供不同的结果集

时间:2013-10-04 12:24:19

标签: hibernate grails gorm

我的查询

 def myQuery = PublicTraining.executeQuery("SELECT  t.id, t.isSoldOut, t.course.ebPrice, t.offerPrice FROM PublicTraining t Where exists (from t.course.tracks AS tracks where tracks.id IN (1) )")

返回错误的多条记录

如果我将其更改为

 def myQuery = PublicTraining.executeQuery("SELECT  t.id FROM PublicTraining t Where exists (from t.course.tracks AS tracks where tracks.id IN (1) )")

它返回正确的结果集

为什么选择列会更改此处的结果集?

1 个答案:

答案 0 :(得分:1)

  1. 两个查询都会返回多条记录。

  2. 由于您没有应用排序顺序,因此您无法预测订单。

  3. 第一个查询将返回4个元素的List列表,而第二个查询将只返回id值列表