谷歌搜索了几个小时后,我意识到用户可以同时使用xml文件(orm.xml,我猜?)或JPA中的注释,或者两者都使用。我是对的? 因此,我的项目使用二级缓存,这不在JPA规范中。我使用的注释如下: @ org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE )
每个实体。 但是,我猜上面的注释不属于JPA注释,因此,我不知道orm.xml中是否有任何等价物?我看了一下orm.xml的xml架构,架构中没有允许这样的hibernate元素。
如果我无法在orm.xml中执行二级缓存配置,除了注释之外还有其他方法吗?我之所以不想这样做是因为我有两个应用程序,一个使用READ_WRITE并发策略,另一个使用READ_ONLY并发策略。
提前致谢!!!
可唯
答案 0 :(得分:2)
您可以使用hibernate.cfg.xml,hibernate.properties或* .hbm.xml文件打开具有不同缓存策略的特定对象的缓存
答案 1 :(得分:1)
如果您不想使用注释,请查看hibernate二级缓存实现(a.k.a“缓存提供程序”,例如ehcache)的文档,了解如何配置它。
请注意,Hibernate允许使用不同的缓存提供程序,因此您的问题没有一般的答案。
答案 2 :(得分:0)
因此,我认为我的问题的当前解决方案是用Hibernate映射文件替换每个实体的所有注释,以便对于不同的部署(应用程序),我们可以使用不同的Hibernate映射文件。