在mongodb中保存该对象时获取相同的java对象

时间:2016-06-16 07:48:42

标签: mongodb spring-data-mongodb mongodb-java

MY POJO看起来像这样:

@Document(collection = "users")
public class User {

    @Id
    private String id;

    String username;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

我可以通过调用mongoDBClient.save(userObj);来保存mongodb中的对象值:

public void save(Object paramObject) {
        mongoOperations.save(paramObject);
    }

save api的问题在于它正在返回void。我想获得保存的相同对象。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

保存后,

paramObject可以进行内省。它代表了那个阶段的持久状态。

例如,驱动程序负责代表您分配id

此外,您自己未设置并指定为弹簧数据填充的所有属性(例如使用@CreatedDate注释的属性)也可在save()方法之后使用(假设审计)已配置)。

在任何情况下,都会设置ID。稍后您可以通过调用findById(paramObject.getId(), User.class)

来查询同一个对象