Junior
Kan de klasse Entity abstract zijn?
sobes.tech AI
Antwoord van AI
Ja, misschien. De abstracte klasse Entity kan dienen als basisklasse voor andere entiteiten, door gemeenschappelijke eigenschappen of methoden te bieden die moeten worden geërfd. Dit voorkomt duplicatie van code en maakt polymorfisme mogelijk. De JPA-specificatie staat het gebruik van abstracte klassen als ouders voor entiteiten toe via erfstrategieën (@Inheritance).
Voorbeeld:
// Abstracte basisklasse Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Voorbeeld van erfstrategie
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Gemeenschappelijke eigenschappen of methoden
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Subklasse Entity:
// Subklasse die erft van de abstracte BaseEntity
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// Eigenschappen specifiek voor ConcreteEntity
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}