這篇文章主要介紹“如何定制Hibernate映射”,在日常操作中,相信很多人在如何定制Hibernate映射問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”如何定制Hibernate映射”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
南華ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
Hibernate 能夠出色地自動(dòng)生成主鍵。Hibernate/EBJ 3 注釋也可以為主鍵的自動(dòng)生成提供豐富的支持,允許實(shí)現(xiàn)各種策略。下面的示例說明了一種常用的方法,其中Hibernate將會(huì)根據(jù)底層數(shù)據(jù)庫來確定一種恰當(dāng)?shù)逆I生成策略:
public Long getId() { return id; }
定制Hibernate映射
默認(rèn)情況下,Hibernate會(huì)將持久類以匹配的名稱映射到表和字段中。例如,前一個(gè)類可以與映射到以如下代碼創(chuàng)建的表中:
CREATE TABLE MODELPLANE ( ID long, NAME varchar )
如果您是自己生成并維護(hù)數(shù)據(jù)庫,那么這種方法很有效,通過省略代碼可以大大簡化代碼維護(hù)。然而,這并不能滿足所有人的需求。有些應(yīng)用程序需要訪問外部數(shù)據(jù)庫,而另一些可能需要遵從公司的數(shù)據(jù)庫命名慣例。如果有必要,您可以使用 @Table 和 @Column 注釋來定制您自己的持久性映射,如下所示:
public class ModelPlane { private Long id; private String name; @Id @Column(name="PLANE_ID") public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(name="PLANE_NAME") public String getName() { return name; } public void setName(String name) { this.name = name; } }
該內(nèi)容將映射到下表中:
CREATE TABLE T_MODEL_PLANE ( PLANE_ID long, PLANE_NAME varchar )
也可以使用其他圖和列的屬性來定制Hibernate映射。這使您可以指定諸如列長度、非空約束等詳細(xì)內(nèi)容。Hibernate支持大量針對(duì)這些注釋的屬性。下例中就包含了幾種屬性:
... @Column(name="PLANE_ID", length=80, nullable=true) public String getName() { return name; } ...
到此,關(guān)于“如何定制Hibernate映射”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!