微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CrudRepository 中的自定义更新

如何解决CrudRepository 中的自定义更新

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

我想要这样的东西:

 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,nativeQuery=true)
 Integer updateDataByType();

}

解决方法

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

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

参考:Custom Implementations for Spring Data Repositories

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。