我公司对象和缓存集合休眠
@OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL }, mappedBy = "company")
@Column(nullable = false)
Set<User> getUsers()
你推荐明智缓存getUsers收集表现?
我公司对象和缓存集合休眠
@OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.ALL }, mappedBy = "company")
@Column(nullable = false)
Set<User> getUsers()
你推荐明智缓存getUsers收集表现?
这取决于您的应用程序的用户/用户正在调用getUsers()
方法的频率。如果目前getUsers()
不会导致应用程序明显的性能下降,您可以保持原样。否则,您可能会考虑将其缓存起来,并比较它对应用性能的影响。有时,如果没有足够的内存分配给Java进程(例如Tomcat),缓存可能会降低应用程序的性能。
对您的问题没有一般的答案,这取决于许多标准(对象是只读的?大部分读取?读/写?集合有多大?你的内存如何?你的许多应用程序服务器实例是每台机器上运行的?)等等)。
虽然我仍然建议阅读Collection Caching in the Hibernate Second Level Cache。