Junior
205
Може ли класа Entity да буде апстрактна?
Одговор од АИ
sobes.tech АИ
Da, može. Apstraktna klasa Entity može služiti kao osnovna klasa za druge entitete, pružajući zajedničke osobine ili metode koje treba naslediti. To omogućava izbegavanje dupliranja koda i implementaciju polimorfizma. Specifikacija JPA dozvoljava korišćenje apstraktnih klasa kao roditeljskih za entitete putem strategija nasleđivanja (@Inheritance).
Primer:
// Apstraktna osnovna klasa Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Primer strategije nasleđivanja
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Zajedničke osobine ili metode
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Potomak klasa Entity:
// Potomak klasa koja nasleđuje od apstraktne BaseEntity
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// Osobine specifične za ConcreteEntity
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}