Olá!! Gostaria de saber como faço para persistir uma classe herdada de outra? Exemplo: Uma Classe Pai denominada cliente, e duas subclasses, chamadas (ClienteFisico e ClienteJuridico). Segue abaixo o código das minhas classes.
package br.com.sgos.classes;
import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;
import lombok.Data;
@Data public class Cliente {
@Id
@Column (name = "idCliente")
@GeneratedValue (strategy = GenerationType.IDENTITY)
private Long idCliente;
@Column (name = "tipoCliente")
private String tipoCliente;
@Column (name = "nomeCliente")
private String nomeCliente;
@Column (name = "endCliente")
private String endCliente;
@Column (name = "compCliente")
private String compCliente;
@Column (name = "nCliente")
private int nCliente;
@Column (name = "bairroCliente")
private String bairroCliente;
@Column (name = "cidadeCliente")
private String cidadeCliente;
@Column (name = "ufCliente")
private String ufCliente;
@Column (name = "cepCliente")
private String cepCliente;
@Column (name = "telCliente")
private String telCliente;
@Column (name = "celCliente")
private String celCliente;
@Column (name = "whatsappCliente")
private String whatsappCliente;
@Column (name = "emailCliente")
private String emailCliente;
}
package br.com.sgos.classes;
import javax.persistence.Column;
import lombok.Data;
@Data public class ClienteFisico extends Cliente {
@Column(name = "cpfCliente")
private String cpfCliente;
@Column (name = "rgCliente")
private String rgCliente;
}
package br.com.sgos.dao;
import javax.persistence.EntityManager;
import br.com.sgos.classes.Cliente; import br.com.sgos.util.ManagerFactory;
public class ClienteFisicoDao {
private static EntityManager em = ManagerFactory.getEntityManager();
public void salvar(Cliente clienteFisico) {
em.getTransaction().begin();
em.persist(clienteFisico);
em.getTransaction().commit();
}
}