Junior
A classe Entity pode ser abstrata?
sobes.tech IA
Resposta da IA
Sim, pode. A classe abstrata Entity pode servir como classe base para outras entidades, fornecendo propriedades ou métodos comuns que devem ser herdados. Isto permite evitar duplicação de código e implementar polimorfismo. A especificação JPA permite o uso de classes abstratas como classes parent para entidades através de estratégias de herança (@Inheritance).
Exemplo:
// Classe base abstrata Entity
@Entity
@Inheritance(strategy = InheritanceType.JOINED) // Exemplo de estratégia de herança
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Propriedades ou métodos comuns
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Classe filha Entity:
// Classe filha que herda de BaseEntity abstrata
@Entity
public class ConcreteEntity extends BaseEntity {
private String name;
// Propriedades específicas de ConcreteEntity
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}