Kui ma arendasin, lugesin teiste inimeste koodi ja leidsin märkme nimega @MappedSuperclass, mis põhineb põhjusel, miks ma seda esimest korda nägin, otsisin selle tähenduse internetist ja võtan selle siin kokku.
Kasutustingimused:
Arendusprojekti kallal töötades kasutame sageli entiteetide kaardistamist andmebaasitabelile ning sel ajal leiame sageli, et mitmes entiteediklassis, mida peame implitsiitselt määratlema,On mitmeid levinud atribuute, nagu number ID, loodud poolt, loodud aeg, modifitseeritud, muudetud aeg, märkmed jne。 Sellisel juhul võiksime mõelda, et need omadused abstrakteeritakse kui vanemklass ja seejärel päritakse vanemklass teise üksusklassiga.
Siis saameKasutades @MappedSuperclass annotatsiooni, saame käsitleda entiteediklassi kui baasklassi üksust, mis ei ole andmebaasitabeli suhtes implitsiitne, kuid alamklassi üksus, mis selle pärib, skaneerib automaatselt baasklassi üksuse implitsiitseid atribuute ja lisab selle vastavasse alamklassi üksuse andmebaasitabelisse.
Kasutuskeskkond:
1.@MappedSuperclass annotatsioone kasutatakse vanemklassi peal vanemklassi tuvastamiseks
Klassi tuvastamine 2.@MappedSuperclass näitab, et seda ei saa kaardistada andmebaasi tabelisse, kuna see ei ole täielik üksusklass, kuid tal on omadused, mis võivad olla andmebaasitabelis implitsiitsed selle alamklassi poolt
3.@MappedSuperclass ei saa enam kasutada @Entity ega @Table annotatsioone
|