如何在Exposed中插入并返回插入的行



我有一个代码,它插入一个新行并返回其ID:

transaction {
val id = Comments.insert {
it[this.postId] = postId
it[msg] = comment.msg
it[this.createdBy] = createdBy
} get Comments.id
}

但是,如何返回所有值,而不仅仅是ID?在SQL中,我会写一个如下的东西:

INSERT INTO comments (post_id, msg, created_by)
VALUES (?, ?, ?)
RETURNING id, post_id, msg, created_by, created_at;

Exposed DSL当前不支持指定自定义RETURNING子句。

这个问题有一些解决办法:https://github.com/JetBrains/Exposed/issues/1271

如果您愿意运行本机SQL,那么以下是方法:有没有一种方法可以用Kotlin';s公开库