0

我有 3 个表 - 租赁帐户、租赁、交易。每个 Lease Account 有 N 个 Lease,每个 Lease 有 N 个 Transactions。我只能对数据库进行 1 次查询 - 从 Lease Account 中选择 *,将所有这些数据作为 N 个 Lease Account 对象提取到 Java 中 - 每个 Lease Account 对象都包含一个 Lease 对象 - 每个 Lease 都包含一个 Transaction 对象。

有人可以指导我如何在 Hibernate(3.2) 中为这种场景编写一对多映射 (hbm.xml) 吗?

谢谢。

4

1 回答 1

0

在您的租赁帐户中 hbm xml

<class name="LeaseAccounts" table="lease">

    <id name="leaseAccountsId" type="java.lang.Long" column="id" >
        <generator class="native" />
    </id>

<set name="lease" table="lease_accounts"
                    inverse="true" lazy="true" fetch="select">
                <key>
                    <column name="id" not-null="true" />
                </key>
                <one-to-many class="Lease.class" />
            </set>


</class>

同样,您可以为您的租约表编写代码。
注意: Select * 是否会加载所有数据取决于您的延迟初始化。如果延迟加载设置为 true ,那么您需要执行Hibernate.initialize(your collection)

(lazy 属性告诉hibernate 什么时候获取孩子。fetch 属性告诉hibernate 如何获取孩子。)

于 2014-05-19T05:43:53.810 回答