多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 16.2.1\. 使用return-property来明确地指定字段/别名 使用`&lt;return-property&gt;`你可以明确的告诉Hibernate使用哪些字段别名,这取代了使用`{}`-语法 来让Hibernate注入它自己的别名. ``` <sql-query name="mySqlQuery"> <return alias="person" class="eg.Person"> <return-property name="name" column="myName"/> <return-property name="age" column="myAge"/> <return-property name="sex" column="mySex"/> </return> SELECT person.NAME AS myName, person.AGE AS myAge, person.SEX AS mySex, FROM PERSON person WHERE person.NAME LIKE :name </sql-query> ``` `<return-property>`也可用于多个字段,它解决了使用`{}`-语法不能细粒度控制多个字段的限制 ``` <sql-query name="organizationCurrentEmployments"> <return alias="emp" class="Employment"> <return-property name="salary"> <return-column name="VALUE"/> <return-column name="CURRENCY"/> </return-property> <return-property name="endDate" column="myEndDate"/> </return> SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer}, STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate}, REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY FROM EMPLOYMENT WHERE EMPLOYER = :id AND ENDDATE IS NULL ORDER BY STARTDATE ASC </sql-query> ``` 注意在这个例子中,我们使用了`&lt;return-property&gt;`结合`{}`的注入语法. 允许用户来选择如何引用字段以及属性. 如果你映射一个识别器(discriminator),你必须使用`&lt;return-discriminator&gt;` 来指定识别器字段