<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 5.1.9\. property `&lt;property&gt;`元素為類定義了一個持久化的,JavaBean風格的屬性。 ``` <property name="propertyName" column="column_name" type="typename" update="true|false" insert="true|false" formula="arbitrary SQL expression" access="field|property|ClassName" lazy="true|false" unique="true|false" not-null="true|false" optimistic-lock="true|false" generated="never|insert|always" node="element-name|@attribute-name|element/@attribute|." index="index_name" unique_key="unique_key_id" length="L" precision="P" scale="S" /> ``` | ![1](https://box.kancloud.cn/2015-10-12_561bcb76795ae.png) | `name`: 屬性的名字,以小寫字母開頭。 | |:--- |:--- | | ![2](https://box.kancloud.cn/2015-10-12_561bcb768596e.png) | `column` (可選 - 默認為屬性名字): 對應的數據庫字段名。 也可以通過嵌套的`&lt;column&gt;`元素指定。 | | ![3](https://box.kancloud.cn/2015-10-12_561bcb94ee26f.png) | `type` (可選): 一個Hibernate類型的名字。 | | ![4](https://box.kancloud.cn/2015-10-12_561bcb9508b82.png) | `update, insert` (可選 - 默認為 `true`) : 表明用于`UPDATE` 和/或 `INSERT` 的SQL語句中是否包含這個被映射了的字段。這二者如果都設置為`false` 則表明這是一個“外源性(derived)”的屬性,它的值來源于映射到同一個(或多個) 字段的某些其他屬性,或者通過一個trigger(觸發器)或其他程序生成。 | | ![5](https://box.kancloud.cn/2015-10-12_561bcb95133e7.png) | `formula` (可選): 一個SQL表達式,定義了這個_計算 (computed)_ 屬性的值。計算屬性沒有和它對應的數據庫字段。 | | ![6](https://box.kancloud.cn/2016-01-06_568cdb4f32753.png) | `access` (可選 - 默認值為 `property`): Hibernate用來訪問屬性值的策略。 | | ![7](https://box.kancloud.cn/2016-01-06_568cdb4f41fcc.png) | `lazy` (可選 - 默認為 `false`): 指定 指定實例變量第一次被訪問時,這個屬性是否延遲抓取(fetched lazily)( 需要運行時字節碼增強)。 | | ![8](https://box.kancloud.cn/2016-01-06_568cdb4f5948a.png) | `unique` (可選): 使用DDL為該字段添加唯一的約束。 同樣,允許它作為`property-ref`引用的目標。 | | ![9](https://box.kancloud.cn/2016-01-06_568cdb4f68749.png) | `not-null` (可選): 使用DDL為該字段添加可否為空(nullability)的約束。 | | ![10](https://box.kancloud.cn/2016-01-06_568cdb4f83cf0.png) | `optimistic-lock` (可選 - 默認為 `true`): 指定這個屬性在做更新時是否需要獲得樂觀鎖定(optimistic lock)。 換句話說,它決定這個屬性發生臟數據時版本(version)的值是否增長。 | | ![11](https://box.kancloud.cn/2016-01-06_568cdb4f902e3.png) | `generated` (可選 - 默認為 `never`): 表明此屬性值是否實際上是由數據庫生成的。請參閱[第 5.6 節 “數據庫生成屬性(Generated Properties)”](../Text/pr01_split_000.html "5.6\. 數據庫生成屬性(Generated Properties)")的討論。 | _typename_可以是如下幾種: 1. Hibernate基本類型名(比如:`integer, string, character,date, timestamp, float, binary, serializable, object, blob`)。 2. 一個Java類的名字,這個類屬于一種默認基礎類型 (比如: `int, float,char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob`)。 3. 一個可以序列化的Java類的名字。 4. 一個自定義類型的類的名字。(比如: `com.illflow.type.MyCustomType`)。 如果你沒有指定類型,Hibernarte會使用反射來得到這個名字的屬性,以此來猜測正確的Hibernate類型。 Hibernate會按照規則2,3,4的順序對屬性讀取器(getter方法)的返回類進行解釋。然而,這還不夠。 在某些情況下你仍然需要`type`屬性。(比如,為了區別`Hibernate.DATE` 和`Hibernate.TIMESTAMP`,或者為了指定一個自定義類型。) `access`屬性用來讓你控制Hibernate如何在運行時訪問屬性。在默認情況下, Hibernate會使用屬性的get/set方法對(pair)。如果你指明`access="field"`, Hibernate會忽略get/set方法對,直接使用反射來訪問成員變量。你也可以指定你自己的策略, 這就需要你自己實現`org.hibernate.property.PropertyAccessor`接口, 再在access中設置你自定義策略類的名字。 衍生屬性(derive propertie)是一個特別強大的特征。這些屬性應該定義為只讀,屬性值在裝載時計算生成。 你用一個SQL表達式生成計算的結果,它會在這個實例轉載時翻譯成一個SQL查詢的`SELECT` 子查詢語句。 ``` <property name="totalPrice" formula="( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p WHERE li.productId = p.productId AND li.customerId = customerId AND li.orderNumber = orderNumber )"/> ``` 注意,你可以使用實體自己的表,而不用為這個特別的列定義別名( 上面例子中的`customerId`)。同時注意,如果你不喜歡使用屬性, 你可以使用嵌套的`&lt;formula&gt;`映射元素。
                  <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>

                              哎呀哎呀视频在线观看