CrudRepository 中的自定义更新

时间:2021-01-23 10:12:01

标签: spring spring-data-jpa

是否可以通过自定义更新方法而不是受影响的行数返回更新的实体?我怎样才能做到这一点?

我想要这样的东西:

 public interface DataRepository extends CrudRepository<Data, Long> {

 @Modifying
 @Query(value="UPDATE data SET max_version = max_version + 1 WHERE id = 'A'", nativeQuery=true)
 Data updateDataByType();
}

代替这个

 public interface DataRepository extends CrudRepository<Data, Long> {

 @Modifying
 @Query(value="UPDATE data SET max_version = max_version + 1 WHERE id = 'A'", nativeQuery=true)
 Integer updateDataByType();

}

1 个答案:

答案 0 :(得分:0)

您不能使用 @Modifying 注释执行此操作。因为这些方法只能是void和int。否则,您将收到错误 Modifying queries can only use void or int / Integer as return type

但是您可以实现自定义存储库实现并在完成查询执行后返回更新的实体。

参考:Custom Implementations for Spring Data Repositories

相关问题