hibernate中的缓存集合

时间:2010-07-11 08:06:46

标签: java hibernate

我有公司对象和

@OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL }, mappedBy = "company")
@Column(nullable = false)
Set<User> getUsers()

您是否建议缓存getUsers集合性能明智?

2 个答案:

答案 0 :(得分:0)

这取决于您的应用的用户/用户调用getUsers()方法的频率。如果当前getUsers()未在您的应用中导致明显的性能下降,您可以将其保留原样。否则,您可以考虑使其可缓存并比较其对应用程序性能的影响。如果没有足够的内存分配给Java进程(例如Tomcat),有时缓存可能会降低应用程序的性能。

答案 1 :(得分:0)

你的问题没有一般答案取决于许多标准(对象是只读的吗?主要是读取?读/写?集合有多大?你的内存怎么样?你有很多app server实例吗?每台机器运行等等。

我仍然建议阅读Collection Caching in the Hibernate Second Level Cache