Când dezvoltam, citeam codul altora și am găsit o notă numită @MappedSuperclass, bazată pe motivul pentru care am văzut-o prima dată, i-am căutat semnificația pe Internet și o voi rezuma aici.
Condiții de utilizare:
Când lucrăm la un proiect de dezvoltare, folosim adesea operația de mapare a entității către un tabel de baze de date, iar în acest moment constatăm adesea că, în mai multe clase de entități, trebuie să implicăm,Există mai multe atribute comune, cum ar fi ID-ul numărului, ora creată, ora creată, ora modificată, notițele etc。 În acest caz, ne-am putea gândi la abstractizarea acestor proprietăți ca o clasă părinte, apoi moștenirea clasei-părinte cu o altă clasă de entitate.
Atunci putemFolosind @MappedSuperclass adnotație, putem trata clasa entității ca entitatea clasei de bază, care nu este implicită în tabelul bazei de date, dar entitatea de subclasă care o moștenește va scana automat atributele implicite ale entității de clasă de bază și le va adăuga în tabelul corespunzător de baze de date al entității subclasei.
Mediul de utilizare:
1.@MappedSuperclass adnotări sunt folosite peste clasa părinte pentru a identifica clasa părinte
O clasă identificată 2.@MappedSuperclass indică faptul că nu poate fi mapată într-un tabel de bază de date deoarece nu este o clasă completă de entități, dar are proprietăți care pot fi implicite în tabelul bazei de date folosit de subclasa sa
3.@MappedSuperclass nu mai poate avea adnotări @Entity sau @Table
|