【发布时间】:2020-12-19 03:00:04
【问题描述】:
我有一个像下面这样的实体。当我需要列出公司的评论大小时,我正在调用 totalComments() 方法。为此,hibernate 会转到数据库并获取整个评论数据还是仅使用 count(*) 进行查询?如果休眠获取整个评论,获取评论大小的有效方法是什么?
@Entity
@Table(name = "companies")
public class Company extends ItemEntity {
@OneToMany(fetch = FetchType.LAZY)
@JoinTable(name="companies_comments",
joinColumns=@JoinColumn(name="company_id"),
inverseJoinColumns=@JoinColumn(name="comment_id"))
private Set<Comment> comments = new HashSet<>();
public void addComment(Comment comment) {
this.comments.add(comment);
}
public int totalComments() {
return this.comments.size();
}
}
【问题讨论】:
标签: spring database hibernate jpa optimization