Junior
204
La classe Entity può essere astratta?
Risposta dell'AI
sobes.tech AI
Sì, può. La classe astratta Entity può fungere da classe base per altre entità, fornendo proprietà o metodi comuni che devono essere ereditati. Questo permette di evitare la duplicazione del codice e di implementare il polimorfismo. La specifica JPA consente l'uso di classi astratte come classi genitore per le entità tramite strategie di ereditarietà (@Inheritance).
Esempio:
// Classe base astratta Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Esempio di strategia di ereditarietà
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Proprietà o metodi comuni
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Classe figlia Entity:
// Classe figlia che eredita da BaseEntity astratta
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// Proprietà specifiche di ConcreteEntity
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}