<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.2.3\. 自定義值類型 開發者創建屬于他們自己的值類型也是很容易的。比如說,你可能希望持久化`java.lang.BigInteger`類型的屬性,持久化成為`VARCHAR`字段。Hibernate沒有內置這樣一種類型。自定義類型能夠映射一個屬性(或集合元素)到不止一個數據庫表字段。比如說,你可能有這樣的Java屬性:`getName()`/`setName()`,這是`java.lang.String`類型的,對應的持久化到三個字段:`FIRST_NAME`, `INITIAL`, `SURNAME`。 要實現一個自定義類型,可以實現`org.hibernate.UserType`或`org.hibernate.CompositeUserType`中的任一個,并且使用類型的Java全限定類名來定義屬性。請查看`org.hibernate.test.DoubleStringType`這個例子,看看它是怎么做的。 ``` <property name="twoStrings" type="org.hibernate.test.DoubleStringType"> <column name="first_string"/> <column name="second_string"/> </property> ``` 注意使用`&lt;column&gt;`標簽來把一個屬性映射到多個字段的做法。 `CompositeUserType`, `EnhancedUserType`, `UserCollectionType`, 和 `UserVersionType` 接口為更特殊的使用方式提供支持。 你甚至可以在一個映射文件中提供參數給一個`UserType`。 為了這樣做,你的`UserType`必須實現`org.hibernate.usertype.ParameterizedType`接口。為了給自定義類型提供參數,你可以在映射文件中使用`&lt;type&gt;`元素。 ``` <property name="priority"> <type name="com.mycompany.usertypes.DefaultValueIntegerType"> <param name="default">0</param> </type> </property> ``` 現在,`UserType` 可以從傳入的`Properties`對象中得到`default` 參數的值。 如果你非常頻繁地使用某一`UserType`,可以為他定義一個簡稱。這可以通過使用 `&lt;typedef&gt;`元素來實現。Typedefs為一自定義類型賦予一個名稱,并且如果此類型是參數化的,還可以包含一系列默認的參數值。 ``` <typedef class="com.mycompany.usertypes.DefaultValueIntegerType" name="default_zero"> <param name="default">0</param> </typedef> ``` ``` <property name="priority" type="default_zero"/> ``` 也可以根據具體案例通過屬性映射中的類型參數覆蓋在typedef中提供的參數。 盡管 Hibernate 內建的豐富的類型和對組件的支持意味著你可能很少 _需要_使用自定義類型。不過,為那些在你的應用中經常出現的(非實體)類使用自定義類型也是一個好方法。例如,一個`MonetaryAmount`類使用`CompositeUserType`來映射是不錯的選擇,雖然他可以很容易地被映射成組件。這樣做的動機之一是抽象。使用自定義類型,以后假若你改變表示金額的方法時,它可以保證映射文件不需要修改。
                  <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>

                              哎呀哎呀视频在线观看