【发布时间】:2011-10-25 16:38:55
【问题描述】:
我在类级别用@Where 属性注释了一个Hibernate 实体。 这限制了当我直接查询时加载哪些实体,但它似乎不适用于该类的集合。这是意料之中的吗?
文档对此并不清楚:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-class
where(可选):指定任意 SQL WHERE 条件 检索此类的对象时使用。
在我看来,这似乎适用于检索该类的对象的所有情况,但我观察到这被集合忽略了。
- 这是否适用于收藏?
- 如果不是,将过滤器全局应用于类的所有实例以及该类的所有集合的最佳方法是什么?
(更新:我提出https://hibernate.atlassian.net/browse/HHH-6781 来跟踪文档问题。)
【问题讨论】:
-
它似乎应该适用于收藏,但如果它不适用,文档应该明确说明。我提出了hibernate.onjira.com/browse/HHH-6781
-
我遇到了同样的问题,但是当直接通过 Criteria API 作为
createCriteria(MyEntity.class).scroll()查询一个类时。您在您的案例中使用了哪种方法,HQL 或 Criteria API? -
我使用的是标准:list(),而不是 scroll(),但我不希望这会有所作为。
标签: hibernate collections where