När jag utvecklade läste jag andras kod, och jag hittade en anteckning som hette @MappedSuperclass, baserat på anledningen till att jag såg den första gången, jag kollade upp dess betydelse på internet och jag kommer att sammanfatta den här.
Användningsvillkor:
När vi arbetar med ett utvecklingsprojekt använder vi ofta operationen entitetsmappning till en databastabell, och vid denna tidpunkt upptäcker vi ofta att i flera entitetsklasser behöver vi implicitera,Det finns flera vanliga attribut såsom nummer-ID, skapat av, skapad tid, modifierad, modifierad tid, noter, etc。 I detta fall kan vi tänka oss att abstrahera dessa egenskaper som en föräldraklass och sedan ärva föräldraklassen med en annan entitetsklass.
Då kan viMed @MappedSuperclass annotation kan vi behandla entitetsklassen som basklassentiteten, vilket inte är implicit i databastabellen, men subklassenheten som ärver den kommer automatiskt att skanna de implicita attributen för basklassentiteten och lägga till dem i motsvarande databastabell för subklassentiteten.
Användningsmiljö:
1.@MappedSuperclass annotationer används ovanpå föräldraklassen för att identifiera föräldraklassen
En klass som identifierats 2.@MappedSuperclass indikerar att den inte kan mappas till en databastabell eftersom den inte är en komplett entitetsklass, men den har egenskaper som kan vara implicita i databastabellen som används av dess underklass
3.@MappedSuperclass kan inte längre ha @Entity eller @Table anteckningar
|