我有公司对象和
@OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL }, mappedBy = "company")
@Column(nullable = false)
Set<User> getUsers()
您是否建议缓存getUsers集合性能明智?
答案 0 :(得分:0)
这取决于您的应用的用户/用户调用getUsers()
方法的频率。如果当前getUsers()
未在您的应用中导致明显的性能下降,您可以将其保留原样。否则,您可以考虑使其可缓存并比较其对应用程序性能的影响。如果没有足够的内存分配给Java进程(例如Tomcat),有时缓存可能会降低应用程序的性能。
答案 1 :(得分:0)
你的问题没有一般答案取决于许多标准(对象是只读的吗?主要是读取?读/写?集合有多大?你的内存怎么样?你有很多app server实例吗?每台机器运行等等。
我仍然建议阅读Collection Caching in the Hibernate Second Level Cache。