Java 在Ebean中选择特定列

Java 在Ebean中选择特定列,java,playframework,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

我想从数据库中选择一些特定字段,并将它们作为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));
Optionaluser=server.find(User.class).where().eq(“名称”,用户名)
.and().eq(“密码”,DigestUtils.sha1Hex(密码))
.select(“name”).findOneOrEmpty();
if(user.isPresent())
返回ok(Json.toJson(user));

它以json显示表中的所有字段,但我只想返回名称字段。

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));
Optionaluser=server.find(User.class).where().eq(“名称”,用户名)
.and().eq(“密码”,DigestUtils.sha1Hex(密码)).setDistinct(true)
.select(“name”).findOneOrEmpty();
if(user.isPresent())
返回ok(Json.toJson(user));
请参见