企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 16.1.4.1\. 别名和属性引用(Alias and property references) 大多数情况下,都需要上面的属性注射,但在使用更加复杂的映射,比如复合属性、通过标识符构造继承树,以及集合类等等情况下,也有一些特别的别名,来允许Hibernate注射合适的别名。 下表列出了使用别名注射参数的不同可能性。注意:下面结果中的别名只是示例,实用时每个别名需要唯一并且不同的名字。 **表 16.1\. 别名注射(alias injection names)** | 描述 | 语法 | 示例 | | --- | --- | --- | | 简单属性 | `{[aliasname].[propertyname]` | `A_NAME as {item.name}` | | 复合属性 | `{[aliasname].[componentname].[propertyname]}` | `CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}` | | 实体辨别器(Discriminator of an entity) | `{[aliasname].class}` | `DISC as {item.class}` | | 实体的所有属性 | `{[aliasname].*}` | `{item.*}` | | 集合键(collection key) | `{[aliasname].key}` | `ORGID as {coll.key}` | | 集合id | `{[aliasname].id}` | `EMPID as {coll.id}` | | 集合元素 | `{[aliasname].element}` | `XID as {coll.element}` | | 集合元素的属性 | `{[aliasname].element.[propertyname]}` | `NAME as {coll.element.name}` | | 集合元素的所有属性 | `{[aliasname].element.*}` | `{coll.element.*}` | | 集合的所有属性 | `{[aliasname].*}` | `{coll.*}` |