“…quando eu faço a inserção a tabela Controle responsável é preenchida com todos os campos mas não cria as chaves primarias”
Não cria as chaves primárias ou não grava a chave estrangeira da pessoa fisica e juridica ?
Ele ta criando os objetos PF e PJ nas tabelas corretamente ?
Como vc ta fazendo esses inserts ?
Faltou especificar o @JoinColumn
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn(name = "pessoa_fisica_id")
private PessoaFisica pessoaFisica ;
verifique se vai dar certo.
Pelo q sei, esse @JoinColumn é caso ele queira mudar o nome da coluna e isso não afeta nq ele ta com problema.
@Entity
@Table(name="tbl_controle_responsavel", schema = "passaporte")
public class ControleResposavel implements Serializable {
private static final long serialVersionUID = 3474465107171514961L;
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Integer id ;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
private PessoaFisica pessoaFisica ;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
private PessoaJuridica pessoaJuridica ;
@Entity
@PrimaryKeyJoinColumn(name="id")
@Table(name="tbl_pessoa_juridica", schema = "passaporteplus")
public class PessoaJuridica extends Pessoa implements Serializable {
private static final long serialVersionUID = 6727497193795581478L;
@Column(name="cnpj", unique=true , nullable=false)
private String cnpj ;
Gente poste a imagem para você perceberem que a chave estrangeira esta sendo gerada corretamente, porém, quando eu faço a inserção a tabela Controle responsável é preenchida com todos os campos mas não cria as chaves primarias.
O que pode estar acontecendo ?
Resolvi. Era apenas a falta de vinculação.