在Ebean中选择特定列

时间:2017-08-07 19:33:17

标签: 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中表的所有字段,但我只想要返回名称字段。

1 个答案:

答案 0 :(得分:1)

选择列时,

id列会在地图中自动显示。

在选择列之前使用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));