Kehittäessäni luin muiden ihmisten koodeja ja löysin muistiinpanon nimeltä @MappedSuperclass, ja sen perusteella miksi näin sen ensimmäistä kertaa, etsin sen merkityksen internetistä, ja tiivistän sen tähän.
Käyttöehdot:
Kun työskentelemme kehitysprojektin parissa, käytämme usein entiteettikarttausta tietokantatauluun, ja tällöin useissa entiteettiluokissa meidän täytyy implisiittisesti määritellä,On olemassa useita yleisiä ominaisuuksia, kuten numerotunnus, luotu, luotu, luomisaika, muokattu, muokattu aika, muistiinpanot jne。 Tässä tapauksessa voisimme ajatella näiden ominaisuuksien abstrahoimista vanhemmaksi luokaksi ja sitten perivämme vanhempiluokan eri entiteettiluokalla.
Sitten voimmeKäyttämällä @MappedSuperclass annotaatiota voimme käsitellä entiteettiluokkaa perusluokan entiteettinä, joka ei ole implisiittinen tietokantataululle, mutta sen perivä aliluokkaentiteetti skannaa automaattisesti perusluokan entiteettien implisiittiset attribuutit ja lisää ne vastaavaan aliluokka-entiteetin tietokantataulukkoon.
Käyttöympäristö:
1.@MappedSuperclass annotaatioita käytetään emoluokan päällä emoluokan tunnistamiseen
2.@MappedSuperclass tunnistettu luokka osoittaa, ettei sitä voi kartoittaa tietokantatauluun, koska se ei ole täydellinen entiteettiluokka, mutta sillä on ominaisuuksia, jotka voivat olla implisiittisiä sen aliluokan käyttämässä tietokantataulussa
3.@MappedSuperclass ei voi enää olla @Entity tai @Table merkintöjä
|