Boa noite galera. Seguinte, tenho as duas classes abaixo:
Pessoa
@Entity
@Table(name = "pessoa")
@NamedQueries({
@NamedQuery(name = "Pessoa.findAll", query = "SELECT p FROM Pessoa p ORDER BY p.pesNome"),
@NamedQuery(name = "Pessoa.findByPesId", query = "SELECT p FROM Pessoa p WHERE p.pesId = :pesId"),
@NamedQuery(name = "Pessoa.findByPesNome", query = "SELECT p FROM Pessoa p WHERE p.pesNome LIKE :pesNome"),
@NamedQuery(name = "Pessoa.findByPesDataNasc", query = "SELECT p FROM Pessoa p WHERE p.pesDataNasc = :pesDataNasc")
})
@Inheritance(strategy=InheritanceType.JOINED)
public class Pessoa implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name = "PesId")
private Integer pesId;
@Column(name = "PesNome")
private String pesNome;
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name = "PesDataNasc")
private Date pesDataNasc;
@Column(name = "PesTipo")
private String pesTipo;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CategPesId")
private CategPes categPes;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "PesId")
private List<Endereco> endList;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "PesId")
private List<Contato> contList;
.
.
.
Endereco
@Entity
@Table(name = "endereco")
@NamedQueries({
@NamedQuery(name = "Endereco.findAll", query = "SELECT e FROM Endereco e"),
@NamedQuery(name = "Endereco.findByEndId", query = "SELECT e FROM Endereco e WHERE e.endId = :endId"),
@NamedQuery(name = "Endereco.findByEndLograd", query = "SELECT e FROM Endereco e WHERE e.endLograd = :endLograd"),
@NamedQuery(name = "Endereco.findByEndNum", query = "SELECT e FROM Endereco e WHERE e.endNum = :endNum"),
@NamedQuery(name = "Endereco.findByEndComplem", query = "SELECT e FROM Endereco e WHERE e.endComplem = :endComplem"),
@NamedQuery(name = "Endereco.findByEndCep", query = "SELECT e FROM Endereco e WHERE e.endCep = :endCep"),
@NamedQuery(name = "Endereco.findByEndBairro", query = "SELECT e FROM Endereco e WHERE e.endBairro = :endBairro"),
@NamedQuery(name = "Endereco.findByEndPtoRef", query = "SELECT e FROM Endereco e WHERE e.endPtoRef = :endPtoRef")
})
public class Endereco implements Serializable {
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name = "EndId")
private Integer endId;
@Column(name = "EndLograd")
private String endLograd;
@Column(name = "EndNum")
private String endNum;
@Column(name = "EndComplem")
private String endComplem;
@Column(name = "EndCep")
private String endCep;
@Column(name = "EndBairro")
private String endBairro;
@Column(name = "EndPtoRef")
private String endPtoRef;
@Column(name = "endTipo")
private String endTipo;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CidId")
private Cidade cidId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PesId")
private Pessoa pesId;
.
.
.
Quando tento excluir uma pessoa, ele retorna o seguinte erro: [color=red]ERROR util.JDBCExceptionReporter: Coluna ‘PesId’ não pode ser vazia[/color], mas quando eu debugo, ele mostra que o atributo pesId do Endereco está carregado.
Se alguém puder ajudar, agradeço muito!
Abraço