日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JPA – Hibernate –包级别的类型映射

發布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JPA – Hibernate –包级别的类型映射 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當我們最終成熟到可以在JPA中使用某些自定義類型映射時,我們通常會停留在某些提供程序特定的解決方案上,因為JPA本身并未定義任何實現此功能的機制。 讓我為您展示一個JPA提供程序Hibernate的自定義類型映射定義的示例。 假設我們在項目中使用Joda Money ,并擁有一個屬性為Money的實體。 Jadira – User Types項目已經提供了非常不錯的Money類型映射實現。 我們要做的就是讓Hibernate知道我們要使用特定的類型映射。 當您查看Hibernate Docs, 第5.1.4.1.1節:Type時 ,您會發現從最簡單的方法開始的幾種可能性–在每個具有Money類型的屬性上使用@Type批注。 如果您在域映射中只有一個或很少一個這種類型的屬性,則此選擇可能很好。 很有可能早一點
或以后,當您的項目足夠增長時,將會有越來越多的項目,并且最終會出現許多類似的行,它們定義了相同的類型映射。 如果您不喜歡重復自己的動作,或者您不信任徒弟進行的重構,則應該考慮使用另一種方式,使用@TypeDefs和@TypeDef批注。 您可能會在Hibernate文檔中閱讀到:

“這些注釋可以放在類或包級別。”

讓我們關注第二個選項-包級別。 我們將這些注釋放置在package-info.java中,用于存放包的域實體(請參閱: Java語言規范– 7.4.1。命名包 )。 它看起來像這樣:

/*** Provides the domain model.** @author Warlock*/ @org.hibernate.annotations.TypeDef(name = "money", defaultForType = Money.class, typeClass = PersistentMoneyAmount.class) package com.blogspot.vardlokkur.domain;import org.jadira.usertype.moneyandcurrency.joda.PersistentMoneyAmount; import org.joda.money.Money;

現在,當您使用Money類型映射屬性時,無需附加類型映射規范即可進行操作,如下所示:

package com.blogspot.vardlokkur.domain;... import org.joda.money.Money;@Entity @Table(name = "EMPLOYEE") public class Employee implements Serializable {... @Column(name = "SALARY") private Money salary;...}

一個技術說明,在成為快樂的Money映射用戶之前–由于PersistentMoneyAmount使用單個列(持有金額)進行Money映射,因此需要定義將與金額一起使用的貨幣。 可以將默認貨幣定義為持久性單元屬性: jadira.usertype.currencyCode

PS。 不要將上述Money示例作為Joda Money映射的準則,可能有更好的方法,請參閱Jadira User Types博客 。

甜點的幾個鏈接:

  • 在Hibernate中注釋自定義類型
  • Jadira用戶類型,支持Joda Money

參考: JPA – Hibernate –在Warlock's Thoughts博客上,來自我們JCG合作伙伴 Michal Jastak的程序包級別的類型映射 。

翻譯自: https://www.javacodegeeks.com/2013/04/jpa-hibernate-type-mapping-on-package-level.html

總結

以上是生活随笔為你收集整理的JPA – Hibernate –包级别的类型映射的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。