程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 角色-Hibernate中,繼承映射還是使用type字段區分

角色-Hibernate中,繼承映射還是使用type字段區分

編輯:編程綜合問答
Hibernate中,繼承映射還是使用"type"字段區分

個人覺得hibernate的繼承映射是很好的東西,但是看了不少項目都是使用的一個type字段來區分類型,而我們老師也是這樣做的。
從對象的設計來說,User和Admin可以是一類,使用繼承映射恰恰合適。而使用type字段等,第一:不符合面向對象的思想,第二:字段冗余

但是,如果使用繼承映射,我暫時想到的無法解決的問題包括:
對於角色轉換,使用字段的方式可以通過改變這個字段來修改角色,比如User變為Admin,Admin變為User,這在一些權限管理的系統中肯定是會出現的。使用hibernate的繼承映射的話,發現無法轉換已經持久化的對象類型,如果通過先刪再插入的方法,對於用的自動生成id的話,又無法主動指定id,所以不可行。

所以,如果使用hibernate的繼承映射,我上面提到的兩個問題:無法轉換角色(類型)、自動生成列手動指定id 是否確實存在?
學生一個,所以實際開發經驗還缺乏,所以不確定如果采用繼承映射,是否還會有其他潛在的問題。 或者說,最好不實用繼承映射,而是使用傳統的type方式。

最佳回答:


1.你說的無法轉換角色(類型),一般的項目中角色是由超級管理員分配的user就是user,admin就是admin,為什麼要將它進行轉換,你創建一個role的實體表和映射表。
2.如果是自動生成id,則無法手動制定ID,顯示層會 報no result and imput,前些天我遇到過。

finemi
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved