java - 在 Ebean 中选择特定列

标签 java playframework ebean

我想从数据库中选择一些特定字段并将它们作为 json 发送给用户,但是每当我使用 ebean 从数据库中获取数据时,它都会选择所有列

Optional<User>user= server.find(User.class).where().eq("name",username)
             .and().eq("password", DigestUtils.sha1Hex(password))
             .select("name").findOneOrEmpty();
if(user.isPresent())
   return ok(Json.toJson(user));

它显示了 json 中表的所有字段,但我只想要名称字段。

最佳答案

当您选择列时,id 列会自动出现在 map 中。

在选择列之前使用setDistinct(true),只会选择名称列

Optional<User>user = server.find(User.class).where().eq("name", username)
             .and().eq("password",DigestUtils.sha1Hex(password)).setDistinct(true)
             .select("name").findOneOrEmpty();

if(user.isPresent())
   return ok(Json.toJson(user));

关于java - 在 Ebean 中选择特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45554441/

相关文章:

java - Play Framework 2.2 : How to define an ebean ManyToMany query

java - 尝试检索字段值时出现 NoSuchFieldException

PlayFramework 2.4 在应用程序启动后运行一些代码

java - 是否可以在 Play Framework 2.5 上使用 Java Akka 访问 actor 中的 Http 上下文

playframework-2.2 - Ebean ManyToMany 未保存在事务中

playframework-2.0 - 尝试在 Globals.InitialData 之后添加模型时出现 PersistenceException

java - 从Struts2.5 Web服务器访问外部项目静态Web资源

java - rabbitmq 在 spring 中设置重新排队 xd

java - 处理 Android 浏览器/webview 中的链接以直接启动应用程序

java - 如果我仍然登录到文件,禁用 Logback 控制台附加程序会提高性能吗?