Junior
Lehet az Entity osztály absztrakt?
sobes.tech MI
Válasz az MI-től
Igen, lehet. Az absztrakt Entity osztály más entitások alap osztályaként szolgálhat, közös tulajdonságokat vagy metódusokat biztosítva, amelyeket örökölni kell. Ez lehetővé teszi a kód ismétlésének elkerülését és a polimorfizmus megvalósítását. A JPA specifikáció megengedi absztrakt osztályok használatát entitások szülőosztályaként az öröklési stratégiák (@Inheritance) segítségével.
Példa:
// Absztrakt alap osztály Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Példa öröklési stratégia
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Közös tulajdonságok vagy metódusok
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Gyermek osztály Entity:
// Gyermek osztály, amely örököl az absztrakt BaseEntity-ből
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// ConcreteEntity-specifikus tulajdonságok
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}