Quando stavo sviluppando, leggevo il codice degli altri e ho trovato una nota chiamata @MappedSuperclass, basandosi sul motivo per cui l'ho vista per la prima volta, ho cercato il suo significato su Internet e la riassumerò qui.
Condizioni d'uso:
Quando lavoriamo a un progetto di sviluppo, spesso usiamo l'operazione di mappatura di entità a una tabella di database, e in questo momento troviamo spesso che in diverse classi di entità dobbiamo implicitare,Ci sono diversi attributi comuni come l'ID del numero, il tempo creato, l'ora creata, l'ora modificata, le note, ecc。 In questo caso, potremmo pensare di astrarre queste proprietà come una classe genitore, e poi ereditare la classe madre con una classe di entità diversa.
Allora possiamoUsando @MappedSuperclass annotazione, possiamo trattare la classe entità come entità di classe base, che non è implicita nella tabella del database, ma l'entità di sottoclasse che la eredita scansionerà automaticamente gli attributi impliciti dell'entità di classe base e li aggiungerà alla tabella di database corrispondente dell'entità di sottoclasse.
Ambiente d'uso:
1.@MappedSuperclass annotazioni vengono usate sopra la classe madre per identificare la classe madre
Una classe identificata 2.@MappedSuperclass indica che non può essere mappata su una tabella di database perché non è una classe di entità completa, ma possiede proprietà che possono essere implicite nella tabella del database usata dalla sua sottoclasse
3.@MappedSuperclass non possono più avere annotazioni @Entity o @Table
|