Olá a todos,
Tenho o seguinte problema, possuo um objeto chamado Pessoas e outros chamados PessoaFisica, PessoaJuridica.
Quando instancio pessoa e mando salvar, ele não salva por exemplo o objeto PessoaFisica que está declaro em Pessoa. Creio que alguma de minhas annotations estão erradas.
Segue minhas classes.
Objeto Pessoa Física
@Entity
@Table(name = "pessoa_fisica")
public class PessoaFisica {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "pessoa_fisica_id")
private int pessoaFisicaId;
@OneToOne
@JoinColumn(name = "pessoa_id")
private Pessoa pessoa;
@OneToOne(optional = true, mappedBy = "pessoaFisica")
private Usuario usuario;
@Column(name = "sexo")
private boolean sexo;
@Column(name = "data_nascimento")
private Date dataNascimento;
@Column(name = "cpf")
private String cpf;
@Column(name = "rg")
private String rg;
@Column(name = "telefone_residencial")
private String telefoneResidencial;
@Column(name = "telefone_celular")
private String telefoneCelular;
@Column(name = "telefone_empresa")
private String telefoneEmpresa;
@Column(name = "usuario_sistema")
private boolean usuarioSistema = false;
Objeto Pessoa
@Entity
@Table(name = "pessoa")
public class Pessoa {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "pessoa_id")
private int pessoaId;
@OneToOne(optional = true, mappedBy = "pessoa", cascade = CascadeType.ALL)
private PessoaFisica pessoaFisica;
@OneToOne(optional = true, mappedBy = "pessoa", cascade = CascadeType.ALL)
@JoinColumn(name = "pessoa_id")
private PessoaJuridica pessoaJuridica;
@OneToOne
@JoinColumn(name = "adm_cadastro_id")
private Pessoa admCadastro;
@Column(name = "tipo_pessoa")
private String pessoaTipo;
@Column(name = "nome")
private String nome;
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "dd/MM/yyyy")
@Column(name = "data_cadastro")
private Date dataCadastro = new Date();
@Temporal(TemporalType.TIME)
@Column(name = "hora_cadastro")
private Date horaCadastro = new Date();
@Column(name = "email")
private String email;
@Column(name = "observacao")
private String observacao;
@Column(name = "suporte")
private String suporte;
@Column(name = "ativo")
private boolean ativo;