gpt4 book ai didi

java - 强制 ebean 在生成的查询中不包含 ID

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:08 24 4
gpt4 key购买 nike

我正在构建一个选择,它必须从表中获取所有不同的值。

我通常编写的 sql 如下所示: “从 MUSICLIB 中选择不同的艺术家”

但是,ebean 正在生成以下内容: “SELECT DISTINCT ID, ARTIST FROM MUSICLIB”

取景器是这样的:

find.select("artist").setDistinct(true).findList();

我发现无论我设置什么选项,ebean 都会在每个查询上生成此 ID。

如何实现我想要的目标?

最佳答案

你不能这样做,用于对象映射的 Ebean 需要 ID 字段,如果你不包含它,你会得到一些神秘的异常。

相反,您可以在没有映射的情况下查询数据库,然后自己编写 SQL 语句:

SqlQuery sqlQuery = Ebean.createSqlQuery("SELECT DISTINCT artist FROM musiclib");
List<SqlRow> rows = sqlQuery.findList();

for (SqlRow row : rows) {
debug("I got one: " + row.getString("artist"));
}

当然,如果artist是一个关系,您需要使用找到的ID列表和in(...)表达式执行额外的查询。

关于java - 强制 ebean 在生成的查询中不包含 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24552966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com