我有一个映射,有两个其他映射的引用。如何使用带有引用的投影?
首先,我会创建子标准还是创建别名?
所以我必须:
Base.Property1 Base.Property2 Base.Reference1.Property1 Base.Reference1.Property2 Base.Reference2.Property1 Base.Reference2.Property2
我想我的项目的查询,只是这6个属性。
我已经设法在一张桌子上的查询上使用投影,但是在涉及多个表时我遇到了困难。
我会做类似(每个参考): criteria.CreateCrtieria(bla) .SetProjection(Projections.ProjectionList() .Add(/*Add projections*/)) .SetResultTransformer(Transformers.AliasToBean(type));
或者只是创建别名,并且对原有的标准,像这样的预测:
criteria.CreateAlias("reference1", "r1").CreateAlias("reference2", "r2") .SetProjection(Projections.ProjectionList() .Add(Projections.Property("baseProperty1") .Add(Projections.Property("r1.property1") .Add(Projections.Property("r2.property2")) /*etc*/ .SetResultTransformer(Transformers.AliasToBean(baseType));
我不知道前两个想法实际上是有效的 - 他们似乎没有,但我不知道这是因为我忘记了一些事情,或者他们是完全错误的。
谢谢。
因此,您基于用户选择的列部分构建基本类型?基类中的其他属性是否仅获取默认值? – 2011-07-01 14:49:51