Olá galera, estou tentando fazer uma persistência usando JPA e JSF onde tenho a tabela Usuario e a tabela Contato(relação @OneToOne), segue meus códigos:
Usuario
package com.modelo.bean;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
@Entity
public class Usuario implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer idUsuario;
private String login;
private String senha;
private String nome;
private String razaoSocial;
private String nomeFantasia;
private String CNPJ;
@OneToOne
@JoinColumn(name = "idContato")
private Contato contato;
public Integer getIdUsuario() {
return idUsuario;
}
public void setIdUsuario(Integer idUsuario) {
this.idUsuario = idUsuario;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getCNPJ() {
return CNPJ;
}
public void setCNPJ(String CNPJ) {
this.CNPJ = CNPJ;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getNomeFantasia() {
return nomeFantasia;
}
public void setNomeFantasia(String nomeFantasia) {
this.nomeFantasia = nomeFantasia;
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public Contato getContato() {
return contato;
}
public void setContato(Contato contato) {
this.contato = contato;
}
}
Contato
package com.modelo.bean;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Contato implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idContato")
private Integer idContato;
private String numeroTelefone;
private String numeroCelular;
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getIdContato() {
return idContato;
}
public void setIdContato(Integer idContato) {
this.idContato = idContato;
}
public String getNumeroCelular() {
return numeroCelular;
}
public void setNumeroCelular(String numeroCelular) {
this.numeroCelular = numeroCelular;
}
public String getNumeroTelefone() {
return numeroTelefone;
}
public void setNumeroTelefone(String numeroTelefone) {
this.numeroTelefone = numeroTelefone;
}
}
Eu preciso que na hora de persistir o objeto Usuario, o objeto Contato seja persistido na sua respectiva tabela e que seja criado uma chave estrangeira do Usuario para o Contato.
Da forma que eu fiz o relacionamento não está sendo inserido nada no BD, fica tudo null.