HQL使用心得 instanceof查詢

2021-08-23 15:00:23 字數 909 閱讀 1064

比如說,現在有4個實體:person,teacher,student,和account,teacher和student繼承自person,account與person是單向的一對一關係。(這只是為了舉例,請不要考慮諸如這樣的實體設計是否合理的問題)如下所示:

@entity

@inheritance(strategy = inheritancetype.single_table)

@discriminatorcolumn(name = "type", discriminatortype = discriminatortype.string)

public abstract class person

@entity

@discriminatorvalue("teacher")

public class teacher extends person

@entity

@discriminatorvalue("student")

public class student extends person

@entity

public class account

這樣做的好處是,account只需持有person的引用,在實際業務中只需要通過account.getperson() instanceof student這樣的方法就能夠判斷出賬號對應的身份。

但如果需要找出所有學生的賬號該怎麼辦?因為一對一的關聯是單向的,所以只能對account進行條件查詢。我們當然希望通過from account a where a.person instanceof student這樣的hql來查出來,但hql中並沒有instanceof這樣的功能。

其實答案很簡單:from account a where a.person.class = "student"

frameset 使用心得

欲明白本篇 html徹底剖析 之標記分類,請看 標記一覽 也請先明白圍堵標記與空標記的分別,請看 html概念 框架概念 謂框架便是網頁畫面分成幾個框窗,同時取得多個 url。只需要 即可,面所有框架標記需要放在乙個總起的 html 檔,這個檔案只記錄了該框架如何分割 不會顯示任何資料,所以不必放入...

Access使用心得

今天臨時用access做資料庫,長期用sql server開發習慣了,總結一下現在為止用到的比較大的差異,以後有新的再補了 1 返回字串長度 len s lenb s 前者返回字元數,後者返回位元組數,並且access中text型別字元統一為2位元組,與sql2000不同。2 join的使用 acc...

vmware使用心得

成功在winxp環境中安裝了vista business版本,反之,亦然。可以建立工作組網路連線了,虛擬機器也可以訪問網際網路了。安裝說明 在安裝嚮導中,無論使用哪種網路連線形式,都不影響正確安裝。安裝後,可以編輯本地機和虛擬機器之間的網路連線形式。需要注意三個細節問題 1 網絡卡要設定為 電源啟動...