Junior
Vai klasei Entity var būt abstrakta?
sobes.tech AI
Atbilde no AI
Jā, var. Abstraktā Entity klase var kalpot kā pamatklase citām būtībām, nodrošinot kopīgas īpašības vai metodes, kuras ir jāmanto. Tas ļauj izvairīties no koda dublēšanas un īstenot polimorfismu. JPA specifikācija ļauj izmantot abstraktas klases kā vecākus būtībām, izmantojot mantošanas stratēģijas (@Inheritance).
Piemērs:
// Abstrakta pamatklase Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Mantošanas stratēģijas piemērs
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Kopīgas īpašības vai metodes
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Meitas klase Entity:
// Meitas klase, kas manto no abstraktās BaseEntity
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// ConcreteEntity specifiskās īpašības
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}