Ebean 使用 setDistinct() 查询的问题

catchef
  • 156

如下代码段,准备用 ebean 查询找到记录列表,但 setDistinct(true) 好像并没起作用,问题出在哪里啊?求大神指点。

List<Song> allSongs = Song.find.select("artistName").setDistinct(true).findList();
回复
阅读 5.3k
1 个回答
杨水龙
  • 1
新手上路,请多包涵

List<Song> allSongs = Song.find.select("artistName").setDistinct(true).findList();

3年前的提问,我现在回答是因为希望后面的人都能得到一点启示 。
这是因为Ebean的setDistinct()方式,他的实现其实不光对你前面,也就是select("artistName")中的artistName进行了去重。他的真正的意义的,id和artistName都作为了去重的条件。
等价于“select distinct id,artistName from tableName”,因为id不可能相同,所以你这样的当然会觉得没有作用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏