<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 6.2.4\. 值集合于多對多關聯(Collections of values and many-to-many associations) 任何值集合或者多對多關聯需要專用的具有一個或多個外鍵字段的_collection table_、一個或多個_collection element column_,以及還可能有一個或多個索引字段。 對于一個值集合, 我們使用`&lt;element&gt;`標簽。 ``` <element column="column_name" formula="any SQL expression" type="typename" length="L" precision="P" scale="S" not-null="true|false" unique="true|false" node="element-name" /> ``` | ![1](https://box.kancloud.cn/2015-10-12_561bcb76795ae.png) | `column`(可選):保存集合元素值的字段名。 | |:--- |:--- | | ![2](https://box.kancloud.cn/2015-10-12_561bcb768596e.png) | `formula` (可選): 用于計算元素的SQL公式 | | ![3](https://box.kancloud.cn/2015-10-12_561bcb94ee26f.png) | `type` (必需):集合元素的類型 | _多對多關聯(many-to-many association)_ 使用 `&lt;many-to-many&gt;`元素定義. ``` <many-to-many column="column_name" formula="any SQL expression" class="ClassName" fetch="select|join" unique="true|false" not-found="ignore|exception" entity-name="EntityName" property-ref="propertyNameFromAssociatedClass" node="element-name" embed-xml="true|false" /> ``` | ![1](https://box.kancloud.cn/2015-10-12_561bcb76795ae.png) | `column`(可選): 這個元素的外鍵關鍵字段名 | |:--- |:--- | | ![2](https://box.kancloud.cn/2015-10-12_561bcb768596e.png) | `formula` (可選): 用于計算元素外鍵值的SQL公式. | | ![3](https://box.kancloud.cn/2015-10-12_561bcb94ee26f.png) | `class` (必需): 關聯類的名稱 | | ![3](https://box.kancloud.cn/2015-10-12_561bcb94ee26f.png) | `outer-join` (可選 - 默認為`auto`): 在Hibernate系統參數中`hibernate.use_outer_join`被打開的情況下,該參數用來允許使用outer join來載入此集合的數據。 | | ![4](https://box.kancloud.cn/2015-10-12_561bcb9508b82.png) | 為此關聯打開外連接抓取或者后續select抓取。這是特殊情況;對于一個實體及其指向其他實體的多對多關聯進全預先抓取(使用一條單獨的`SELECT`),你不僅需要對集合自身打開`join`,也需要對`&lt;many-to-many&gt;`這個內嵌元素打開此屬性。 | | ![5](https://box.kancloud.cn/2015-10-12_561bcb95133e7.png) | 對外鍵字段允許DDL生成的時候生成一個惟一約束。這使關聯變成了一個高效的一對多關聯。(此句存疑:原文為This makes the association multiplicity effectively one to many.) | | ![6](https://box.kancloud.cn/2016-01-06_568cdb4f32753.png) | `not-found` (可選 - 默認為 `exception`): 指明引用的外鍵中缺少某些行該如何處理: `ignore` 會把缺失的行作為一個空引用處理。 | | ![7](https://box.kancloud.cn/2016-01-06_568cdb4f41fcc.png) | `entity-name` (可選): 被關聯的類的實體名,作為`class`的替代。 | | ![8](https://box.kancloud.cn/2016-01-06_568cdb4f5948a.png) | `property-ref`: (可選) 被關聯到此外鍵(foreign key)的類中的對應屬性的名字。若未指定,使用被關聯類的主鍵。 | 例子:首先, 一組字符串: ``` <set name="names" table="NAMES"> <key column="GROUPID"/> <element column="NAME" type="string"/> </set> ``` 包含一組整數的bag(還設置了`order-by`參數指定了迭代的順序): ``` <bag name="sizes" table="item_sizes" order-by="size asc"> <key column="item_id"/> <element column="size" type="integer"/> </bag> ``` 一個實體數組,在這個案例中是一個多對多的關聯(注意這里的實體是自動管理生命周期的對象(lifecycle objects),`cascade="all"`): ``` <array name="addresses" table="PersonAddress" cascade="persist"> <key column="personId"/> <list-index column="sortOrder"/> <many-to-many column="addressId" class="Address"/> </array> ``` 一個map,通過字符串的索引來指明日期: ``` <map name="holidays" table="holidays" schema="dbo" order-by="hol_name asc"> <key column="id"/> <map-key column="hol_name" type="string"/> <element column="hol_date" type="date"/> </map> ``` 一個組件的列表:(下一章討論) ``` <list name="carComponents" table="CarComponents"> <key column="carId"/> <list-index column="sortOrder"/> <composite-element class="CarComponent"> <property name="price"/> <property name="type"/> <property name="serialNumber" column="serialNum"/> </composite-element> </list> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看