我现在想如果可以创建一个在表中计数的Hibernate查询并将结果更新到父表中。
在Spring Boot Backend中有多次这样的情况,我们在表上选择count(x),结果通过一条update语句保存到父实体。所以我的问题是,是否可能这样:
@Modifying(clearAutomatically = true)
@Query("UPDATE Post post SET post.commentsCount = (SELECT (count(comment) FROM Comments comment WHERE comment.post = :post)) WHERE post = :post")
void updateCommentCount(@Param("post")Post post);
使用正确的括号可以使用.. :)感谢@Sana。
@Modifying(clearAutomatically = true)
@Query("UPDATE Post post SET post.commentsCount = (SELECT count(comment) FROM Comments comment WHERE comment.post = :post) WHERE post = :post")
void updateCommentCounttest(@Param("post")Post post);