使用setDistinct()的Ebean查询不起作用

jac*_*ron 8 java sql playframework ebean

我在剧中使用了一个ebean查询!框架,用于根据不同的列查找记录列表.这似乎是一个非常简单的查询,但问题是ebean方法setDistinct(true)实际上并没有将查询设置为distinct.

我的查询是:

List<Song> allSongs = Song.find.select("artistName").setDistinct(true).findList();
Run Code Online (Sandbox Code Playgroud)

在我的结果中,我得到重复的艺术家姓名

从我所看到的,我相信这是正确的语法,但我可能是错的.我很感激任何帮助.谢谢.

hfs*_*hfs 1

根据问题#158:在 Ebean 错误跟踪器上添加对使用 setDistinct(通过从生成的 sql 中排除 id 属性)的支持,问题是 ID 列被隐式添加到 select 查询的开头。这使得 unique 关键字作用于 ID 列,该列始终是不同的。

这应该在 Ebean 4.1.2 中得到修复。