Когато разработвах, четях чужди кодове и намерих бележка, наречена @MappedSuperclass, въз основа на причината, поради която го видях за първи път, потърсих значението му в интернет и ще го обобщя тук.
Условия на употреба:
Когато работим по проект за разработка, често използваме операцията за съпоставяне на обекти към таблица от база данни, и в този момент често откриваме, че в няколко класа на обекти трябва да имплицитно включим,Има няколко често срещани атрибута като номер ID, създаден от, създаден време, модифициран, модифициран час, бележки и др。 В този случай можем да помислим да абстрахираме тези свойства като родителски клас, а след това да наследим родителския клас с различен клас на обекта.
Тогава можемИзползвайки @MappedSuperclass анотация, можем да третираме класа на обекта като базов клас, който не е имплицитен към таблицата на базата данни, но субектът от подкласа, който го наследява, автоматично ще сканира имплицитните атрибути на базовия клас обект и ще ги добави към съответната таблица на базата данни на подкласа.
Среда на употреба:
1.@MappedSuperclass анотации се използват върху родителския клас за идентифициране на родителския клас
Клас, идентифициран 2.@MappedSuperclass, показва, че не може да бъде съпоставен с таблица на база данни, тъй като не е пълен клас на обекти, но има свойства, които могат да бъдат имплицитни в таблицата на базата данни, използвана от подкласа му
3.@MappedSuperclass вече не може да има @Entity или @Table анотации
|