Spring-data:阻止更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring-data:阻止更新相关的知识,希望对你有一定的参考价值。

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

我有一个可以创建和阅读的对象。而已。我不想支持修改/更新。我自己管理/生成数据库ID。

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

到目前为止我发现的最佳解决方案是实现Persistable并覆盖isNew(…)以始终返回true。但这很糟糕,因为如果它是只读的,那么该对象不是“新的”。

有没有干净的方法来实现这一目标?

答案

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

@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")
  }
}

以上是关于Spring-data:阻止更新的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress阻止访问wp admin€“wpsnipp.com网站你博客的Wordpress代码片段

c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。

js经常用到的代码片段

如何阻止片段一直弹出到根片段? [导航组件]

Android阻止恢复活动

如何在 spring-data 中使用子图(使用休眠)?