在Hibernate的一个查询中更新和选择计数

时间:2019-07-24 11:27:17

标签: java spring hibernate spring-boot

我现在想如果可以创建一个在表中计数的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);

0 个答案:

没有答案