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中的对象。 |
Herr Derb · 方法查询多个表,包括排序? 7 年前 |
Burdel · JPA:名称的命名查询:。。。未找到 7 年前 |
user_mda · 用于根据表的外键筛选表的NamedQuery 7 年前 |
nenito · 对MSSQL存储过程的JPA调用返回重复记录 8 年前 |
John · Grails在命名查询中使用继承的属性 9 年前 |
John · Grails命名查询-按关联查找 9 年前 |