JOOQ:如何获取按字段分组的记录?
JOOQ: how to fetch records grouped by field?
我需要使用 JOOQ 获取地图 Map<String, List<Message>>
。我在 Kotlin 上写作。我需要按用户名对消息进行分组。我的代码开始于:
fun getAllForUsernames(usernames: List<String>): Map<String, List<Message>> =
dsl.selectFrom(Messages.MESSAGES)
.where(Messages.MESSAGES.USERNAME.`in`(usernames))
// ??? returns Map<String, List<Message>>
请建议如何完成功能。
您可以使用开箱即用的映射函数之一,即 ResultQuery.fetchGroups(Field, Class)
dsl.selectFrom(MESSAGES)
.where(MESSAGES.USERNAME.`in`(usernames))
.fetchGroups(MESSAGES.USERNAME, Message::class.java)
我需要使用 JOOQ 获取地图 Map<String, List<Message>>
。我在 Kotlin 上写作。我需要按用户名对消息进行分组。我的代码开始于:
fun getAllForUsernames(usernames: List<String>): Map<String, List<Message>> =
dsl.selectFrom(Messages.MESSAGES)
.where(Messages.MESSAGES.USERNAME.`in`(usernames))
// ??? returns Map<String, List<Message>>
请建议如何完成功能。
您可以使用开箱即用的映射函数之一,即 ResultQuery.fetchGroups(Field, Class)
dsl.selectFrom(MESSAGES)
.where(MESSAGES.USERNAME.`in`(usernames))
.fetchGroups(MESSAGES.USERNAME, Message::class.java)