Junior
Kann die Klasse Entity abstrakt sein?
sobes.tech KI
Antwort von AI
Ja, vielleicht. Die abstrakte Klasse Entity kann als Basisklasse für andere Entitäten dienen, indem sie gemeinsame Eigenschaften oder Methoden bereitstellt, die vererbt werden müssen. Dies ermöglicht die Vermeidung von Code-Duplikation und die Implementierung von Polymorphismus. Die JPA-Spezifikation erlaubt die Verwendung abstrakter Klassen als Eltern von Entitäten mittels Vererbungsstrategien (@Inheritance).
Beispiel:
// Abstrakte Basisklasse Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Beispiel für Vererbungsstrategie
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Gemeinsame Eigenschaften oder Methoden
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Kindklasse Entity:
// Kindklasse, die von der abstrakten BaseEntity erbt
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// Spezifische Eigenschaften für ConcreteEntity
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}