Kurdamas skaičiau kitų žmonių kodą ir radau užrašą pavadinimu @MappedSuperclass, remdamasis priežastimi, kodėl jį pamačiau pirmą kartą, ieškojau jo reikšmės internete ir apibendrinsiu čia.
Naudojimo sąlygos:
Kai dirbame su kūrimo projektu, dažnai naudojame objektų susiejimo su duomenų bazės lentele operaciją ir šiuo metu dažnai pastebime, kad keliose objektų klasėse, kurias turime numanyti,Yra keletas bendrų atributų, tokių kaip skaičiaus ID, sukurtas, sukurtas laikas, modifikuotas, modifikuotas laikas, pastabos ir kt。 Tokiu atveju galime pagalvoti apie šių savybių abstrahavimą kaip pirminę klasę, o tada paveldėti pirminę klasę su kita objektų klase.
Tada mes galimeNaudodami @MappedSuperclass anotaciją, objekto klasę galime traktuoti kaip bazinės klasės objektą, kuris nėra numanomas duomenų bazės lentelei, bet jį paveldėjęs poklasio objektas automatiškai nuskaitys numanomus pagrindinės klasės objekto atributus ir įtrauks jį į atitinkamą poklasio objekto duomenų bazės lentelę.
Naudojimo aplinka:
1.@MappedSuperclass anotacijos naudojamos pirminės klasės viršuje, kad būtų galima identifikuoti pirminę klasę
Identifikuota klasė 2.@MappedSuperclass nurodo, kad jos negalima susieti su duomenų bazės lentele, nes tai nėra visa objekto klasė, tačiau ji turi ypatybių, kurios gali būti numanomos duomenų bazės lentelėje, kurią naudoja jos poklasis
3.@MappedSuperclass nebegali turėti @Entity ar @Table anotacijų
|