首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring-data:阻止更新

Spring-data:阻止更新
EN

Stack Overflow用户
提问于 2017-12-27 00:48:12
回答 1查看 1.8K关注 0票数 1

我正在寻找一种方法来阻止对象使用spring-data更新。我已经找到了一些关于这方面的主题,但没有一个有解决方案。

我有一个对象,可以创建和读取。就这样。我不想支持修改/更新。我自己管理/生成数据库id。

我喜欢使用org.springframework.data.repository.Repository接口(或者JpaRepository/CrudRepository,如果我可以以某种方式更改<S extends T> S save(S entity);逻辑以防止更新),因为我喜欢干净的findBy……接口符号。

到目前为止,我找到的最好的解决方案是实现Persistable并重写isNew(…)以始终返回true。但这太糟糕了,因为如果对象是只读的,那么它就不是“新的”。

有什么干净利落的方法可以做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2017-12-27 01:02:32

例如,您可以简单地使用Repository event handler来限制更新和删除操作:

代码语言:javascript
复制
@RepositoryEventHandler(MyEntity.class)
public class MyEntityEventHandler {

  @HandleBeforeSave
  public void handleUpdate(MyEntity entity) {
      throw new HttpRequestMethodNotSupportedException("Update")
  }

  @HandleBeforeDelete
  public void handleDelete(MyEntity entity) {
      throw new HttpRequestMethodNotSupportedException("Delete")
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47981408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档