我想知道是否可以用更少的开销来解决这个问题:
给出一个简单的一对多关系Product - >尺寸(产品有一个尺寸)。为了确定为一个尺寸分配了多少产品,我会更新尺寸与产品的映射 - Bag
。但是,如果我只对计数感兴趣(不需要任何产品细节),这可以在没有加载所有产品对象的开销的情况下完成吗?
任何tipps的Thx sl3dg3
答案 0 :(得分:7)
在hbm中使用属性lazy="extra"
或在产品集合的流畅映射中使用ExtraLazyLoad()
。
使用额外的延迟加载,Products.Count转换为sql'select count'
答案 1 :(得分:-1)
为什么不创建查询?对Linq这样的东西(当然HQL,条件或QueryOver也应该有效):
int count = session.Query<Product>()
.Where(x => x.Size != null)
.Count();