2010-07-11 147 views
0

我公司对象和缓存集合休眠

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

你推荐明智缓存getUsers收集表现?

回答

0

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

0

对您的问题没有一般的答案,这取决于许多标准(对象是只读的?大部分读取?读/写?集合有多大?你的内存如何?你的许多应用程序服务器实例是每台机器上运行的?)等等)。

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