2010-07-11 121 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