之前的幾篇文章主要介紹的是關係對映。之所以用好幾篇的文章來介紹關係對映,其重要性與常用行可見一斑。還有一種對映,也就是今天要介紹的——繼承對映,也是很重要的一種對映模式。
繼承對映的實現有三種策略:
1、單錶繼承。每棵類繼承樹使用乙個表。
2、具體表繼承。每個子類乙個表。
3、類表繼承。每個具體類乙個表。
下面將通過例項來具體說明這三種策略。我們以animal類、pig類、bird類來講解,三者的關係如下圖:
雖然說是三種策略,但是他們都是繼承對映,所以三個實體是不變的:子類(pig、bird)繼承父類(animal),並且具有自己特有的屬性。
animal類:
public class animal
bird類
public class bird extends animal
pig類
public class pig extends animal
最終結果:只生成乙個表,但是有乙個鑑別字段:type
對映配置如下:extends.hbm.xml
最終結果:生成三個表。
每個表中的具體資料:
對應的對映配置:
最終結果:生成兩個表
對映配置:
方式一:表中存在冗餘字段。但是資料操作效率較高(都在同一張表中)。
方式二:層次非常清楚。但是如果繼承層次太多的話,資料操作的效率明顯不如方式一。
方式三:不能使用自增長,只能手動分配主鍵。
因此建議使用方式一。如果繼承的層次很少,可以使用方式二。
github eclipde 新手上路
首先建立github 或碼雲賬號 二者都能使用但是碼雲較快,畢竟國內的。建議1 使用自己姓名命名的獨一無二的賬號,兩邊都使用同乙個名字賬號,然後密碼相同,這樣後期交叉使用的時候可以少很多煩惱。個人經驗教訓,會敲錯賬號。當然,只用其中乙個的忽略。建議2 使用碼雲,二者操作一致。碼雲是中文,入門快,然後...
PHP新手上路
php的許多特點與其他軟體或者工具有關。利用迄今為止我們所學到的php知識,我們可以試著建立乙個簡單互動的 利用這一過程我們又可以學到不少東西。好吧,我們現在開始專注於乙個典型個人 的建設。標題頁面 front.html 這裡我們有乙個非常簡單的html檔案 歡迎來我的寒舍,雖然這裡現在暫時還沒有什...
vue新手上路
1 position absolute relative fixed和static四種定位方式的理解 1 static 靜態的,是position的預設值,所以一般要麼position沒有定義預設這個,要麼定義的時候肯定不寫這個 2 relative 相對的,用相對定位的元素不管它是否進行移動,元素...