我有一个使用MongoDB的Spring Web应用程序。目前我总是从数据库中永久删除数据。
@Repository
public class SessionRepository extends CrudRepository implements SessionService {
...
@Override
public void insert(Session session) {
saveRoom(session);
getTemplate().insert(session);
}
@Override
public void delete(Session session) {
getTemplate().remove(session);
}
...
}
如何将此更改为软删除的好方法?
----------------- 编辑1 -------------------
我现在明白了应该做什么,谢谢Sarath Nair。但我不确定如何在Spring中实现这一点。我有一个Session对象:
@Document(collection = "session")
public class Session {
@Id
private String id;
private Date startDate;
private Date endDate;
//I just put this here
private boolean deleted = false;
public boolean isDeleted() {
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
...
}
我希望数据库中存在字段boolean isDeleted
,但是不想在web服务中发送这个数据。
@Transient
不可用,因为这样字段既不会在数据库中显示,也不会在HTTP响应中显示。目前我正在通过HTTP响应发送deleted: false
。
我应该如何修改我的Session类?