1
9
为什么不使用:
它将使用列别名作为属性名,将查询中每个列的数据插入到Person对象属性中。 |
2
2
如何创建将返回未映射类型的实例的查询? 我认为迈克尔在这里有一个观点,也许你应该看看预测。(至少,这是我想你要找的)。 在某些映射类型上创建查询,然后可以将该查询“投影”到“dto”。 为了做到这一点,您必须“导入”您的Person类,以便NHibernate知道它,并且您必须使用ResultTransformer。 像这样:
但是,这仍然意味着你必须 import 让NHibernate知道。 |
3
0
通过使用类,nhibernate基本上是在猜测涉及到的所有内容,包括您打算用于Person的表以及字段映射。NHibernate可能会被黑客攻击,以根据匹配的名称或其他内容进行动态绑定,但整体的想法是使用XML文件创建从普通的旧数据对象到数据库字段的映射。 |
4
0
如果没有很好的理由不映射类,只需添加映射就可以得到最好的结果… 也就是说,不能使用命名查询将结果直接注入到未映射的类中。您需要告诉它将哪些列放入哪些字段中,或者换句话说,一个映射。;)但是,可以从命名查询返回标量值,并且可以获取这些对象数组并手动构建集合。 |
5
0
为了解决这个问题,我最终使用了TupleToPropertyResultTransformer并提供了属性值列表。这有一些限制,主要是SQL查询返回结果的顺序必须与向TupleToPropertyResultTransformer构造函数提供属性的顺序相同。 此外,属性类型是推断出来的,因此需要注意只返回整数值的十进制列等。除了使用TupleToPropertyResultTransformer之外,它提供了一种相当简单的方法,可以使用SQL查询返回对象集合,而无需显式映射nhibernate中的对象。 |
Nico Pizzo · 子查询上的nhibernate联接 6 年前 |
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 6 年前 |
Stu · 具有特定类型的字符串外键的NHibernate映射 6 年前 |
Zout · 为Hibernate的HiLo算法管理的列生成ID 7 年前 |