使用條件:
當我們進行開發項目時,我們經常會用到實體映射到數據庫表的操作,此時我們經常會發現在我們需要隱射的幾個實體類中,有幾個共同的屬性,例如編號ID,創建者,創建時間,修改者,修改時間,備註等。遇到這種情況,我們可能會想到把這些屬性抽象出來當成一個父類,然後再以不同的實體類來繼承這個父類。
那麼,我們便可以使用@MappedSuperclass註解,通過這個註解,我們可以將該實體類當成基類實體,它不會隱射到數據庫表,但繼承它的子類實體在隱射時會自動掃描該基類實體的隱射屬性,添加到子類實體的對應數據庫表中。
使用環境:
1.@MappedSuperclass註解使用在父類上面,是用來標識父類的
2.@MappedSuperclass標識的類表示其不能映射到數據庫表,因爲其不是一個完整的實體類,但是它所擁有的屬性能夠隱射在其子類對用的數據庫表中
3.@MappedSuperclass標識類不能再有@Entity或@Table註解