当您运行JPQL更新或删除查询时,Hibernate是否足够智能来使更改的实体的二级缓存无效?
人为设计的例子:
你已经有了JPQL:
update Product p set p.status = 'S' where p.name like 'Monitor%'
如果在运行该语句时您当前在二级缓存中有产品,Hibernate会使缓存中的所有产品无效,还是不会对缓存做任何操作并且二级缓存中的产品现在无效?
仅供参考。我正在使用带有Hibernate和JBossCache的JBoss 5.1
我不能在Hibernate中以我想要的方式解决这个问题。这就是:我有一个产品,每个产品都有自己的字段,依此类推。每个产品既可以是TopLevelProduct也可以是SecondaryProduct。次要产品将链接到顶级产品,顶级产品将不链接到任何内容。当我从数据库中查询产品时,我想知道它是否是TopLevel。链接的二级产品的列表可以在以后检索(甚至可以在此之前检索,但不是那么必要)。
我想使用这个bean:
public class Product{
...properties..
Product topLevelProduct;
...getters and setters..