tangguo

如何使用Hibernate <subselect>:

java

我是新来的冬眠。我需要了解以下问题:

(1)休眠映射中的子选择是什么?

(2)如何在hbm文件中映射子选择?

(3)如果我使用subselect检索值,那么如何在java Action类中获取检索的值。


阅读 526

收藏
2020-11-04

共1个答案

小编典典

  1. 根据第5.1.3节中的描述,该subselect元素用于定义一个只读/不可变的实体,该实体基于任意本机查询的结果。
  2. 在同一来源中,人们仅subselectclass元素内使用而不是table属性,然后将查询中定义的列名称用作属性映射中的列名称。(以下摘自第5.1.3节)
<class name="Summary">
  <subselect>
    select item.name, max(bid.amount), count(*)
    from item
    join bid on bid.item_id = item.id
    group by item.name
  </subselect>
  <synchronize table="item"/>
  <synchronize table="bid"/>
  <id name="name"/>
  ...
</class>
  1. 使用subselect元素中查询中的列创建映射后,您应该能够像访问任何其他实体一样访问属性。
2020-11-04