Carrego as informações de endereço na tela e ao chamar o método de update das informações aparece um erro:
INFO: [Wpos_Advice] 26/08/16 09:35 ERROR [http-thread-pool-8080(1)] (AssertionFailure.java:22) - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: cannot copy a reference to an object with a null id
Classe TgrEnderecopessoa
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.advpos.entities;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
/**
*
* @author fcscjunior
*/
@Entity
@Table(name = "TGR_ENDERECO_PESSOA")
//@XmlRootElement
public class TgrEnderecoPessoa implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected TgrEnderecoPessoaPK tgrEnderecoPessoaPK;
@Column(name = "SIGLA_ENDERECO")
private String siglaEndereco;
@Column(name = "CEP")
private String cep;
@Column(name = "DESC_LOGRADOURO")
private String descLogradouro;
@Column(name = "DESC_COMPLEMENTO")
private String descComplemento;
@Column(name = "NUMERO")
private String numero;
@Column(name = "DESC_BAIRRO")
private String descBairro;
@Column(name = "COD_LOGRAD_CEP")
private Long codLogradCep;
@Column(name = "DT_CADASTRO")
@Temporal(TemporalType.TIMESTAMP)
private Date dtCadastro;
@Column(name = "DT_ALTERACAO")
@Temporal(TemporalType.TIMESTAMP)
private Date dtAlteracao;
@Column(name = "DT_EXCLUSAO")
@Temporal(TemporalType.TIMESTAMP)
private Date dtExclusao;
@Column(name = "ID_USUARIO_CAD")
private Long idUsuarioCad;
@Column(name = "ID_USUARIO_ALT")
private Long idUsuarioAlt;
@Column(name = "ID_USUARIO_EXC")
private Long idUsuarioExc;
@Column(name = "FG_EXCLUIDO")
private String fgExcluido;
@Column(name = "SIGLA_UF")
private String siglaUf;
@Column(name = "DESC_LOCALIDADE")
private String descLocalidade;
@Column(name = "FG_PRINCIPAL")
private String fgPrincipal;
@Column (name = "ID_SYS_PAIS")
private Long idSysPais;
@Column(name = "ID_TGR_PESSOA")
private Long idTgrPessoa;
@JoinColumns({
@JoinColumn(name = "GUID", referencedColumnName = "GUID", insertable = false, updatable = false),
@JoinColumn(name = "ID_TGR_PESSOA", referencedColumnName = "ID_TGR_PESSOA", insertable = false, updatable = false)})
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private TgrPessoa tgrPessoa;
@Transient
private String tipoEndereco;
@Transient
private Long idTgrEnderecoPessoa;
public TgrEnderecoPessoa() {
}
public TgrEnderecoPessoa(TgrEnderecoPessoaPK tgrEnderecoPessoaPK) {
this.tgrEnderecoPessoaPK = tgrEnderecoPessoaPK;
}
public TgrEnderecoPessoa(String guid, long idTgrEnderecoPessoa) {
this.tgrEnderecoPessoaPK = new TgrEnderecoPessoaPK(guid, idTgrEnderecoPessoa);
}
public TgrEnderecoPessoaPK getTgrEnderecoPessoaPK() {
return tgrEnderecoPessoaPK;
}
public void setTgrEnderecoPessoaPK(TgrEnderecoPessoaPK tgrEnderecoPessoaPK) {
this.tgrEnderecoPessoaPK = tgrEnderecoPessoaPK;
}
public String getSiglaEndereco() {
return siglaEndereco;
}
public void setSiglaEndereco(String siglaEndereco) {
this.siglaEndereco = siglaEndereco;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getDescLogradouro() {
return descLogradouro;
}
public void setDescLogradouro(String descLogradouro) {
this.descLogradouro = descLogradouro;
}
public String getDescComplemento() {
return descComplemento;
}
public void setDescComplemento(String descComplemento) {
this.descComplemento = descComplemento;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getDescBairro() {
return descBairro;
}
public void setDescBairro(String descBairro) {
this.descBairro = descBairro;
}
public Long getCodLogradCep() {
return codLogradCep;
}
public void setCodLogradCep(Long codLogradCep) {
this.codLogradCep = codLogradCep;
}
public Date getDtCadastro() {
return dtCadastro;
}
public void setDtCadastro(Date dtCadastro) {
this.dtCadastro = dtCadastro;
}
public Date getDtAlteracao() {
return dtAlteracao;
}
public void setDtAlteracao(Date dtAlteracao) {
this.dtAlteracao = dtAlteracao;
}
public Date getDtExclusao() {
return dtExclusao;
}
public void setDtExclusao(Date dtExclusao) {
this.dtExclusao = dtExclusao;
}
public Long getIdUsuarioCad() {
return idUsuarioCad;
}
public void setIdUsuarioCad(Long idUsuarioCad) {
this.idUsuarioCad = idUsuarioCad;
}
public Long getIdUsuarioAlt() {
return idUsuarioAlt;
}
public void setIdUsuarioAlt(Long idUsuarioAlt) {
this.idUsuarioAlt = idUsuarioAlt;
}
public Long getIdUsuarioExc() {
return idUsuarioExc;
}
public void setIdUsuarioExc(Long idUsuarioExc) {
this.idUsuarioExc = idUsuarioExc;
}
public String getFgExcluido() {
return fgExcluido;
}
public void setFgExcluido(String fgExcluido) {
this.fgExcluido = fgExcluido;
}
public String getSiglaUf() {
return siglaUf;
}
public void setSiglaUf(String siglaUf) {
this.siglaUf = siglaUf;
}
public String getDescLocalidade() {
return descLocalidade;
}
public void setDescLocalidade(String descLocalidade) {
this.descLocalidade = descLocalidade;
}
public String getFgPrincipal() {
return fgPrincipal;
}
public void setFgPrincipal(String fgPrincipal) {
this.fgPrincipal = fgPrincipal;
}
public Long getIdSysPais() {
return idSysPais;
}
public void setIdSysPais(Long idSysPais) {
this.idSysPais = idSysPais;
}
public TgrPessoa getTgrPessoa() {
return tgrPessoa;
}
public void setTgrPessoa(TgrPessoa tgrPessoa) {
this.tgrPessoa = tgrPessoa;
}
public String getTipoEndereco() {
return tipoEndereco;
}
public void setTipoEndereco(String tipoEndereco) {
this.tipoEndereco = tipoEndereco;
}
public Long getIdTgrEnderecoPessoa() {
return idTgrEnderecoPessoa;
}
public void setIdTgrEnderecoPessoa(Long idTgrEnderecoPessoa) {
this.idTgrEnderecoPessoa = idTgrEnderecoPessoa;
}
public Long getIdTgrPessoa() {
return idTgrPessoa;
}
public void setIdTgrPessoa(Long idTgrPessoa) {
this.idTgrPessoa = idTgrPessoa;
}
@Override
public int hashCode() {
int hash = 0;
hash += (tgrEnderecoPessoaPK != null ? tgrEnderecoPessoaPK.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof TgrEnderecoPessoa)) {
return false;
}
TgrEnderecoPessoa other = (TgrEnderecoPessoa) object;
if ((this.tgrEnderecoPessoaPK == null && other.tgrEnderecoPessoaPK != null) || (this.tgrEnderecoPessoaPK != null && !this.tgrEnderecoPessoaPK.equals(other.tgrEnderecoPessoaPK))) {
return false;
}
return true;
}
@Override
public String toString() {
return "br.com.advpos.entities.TgrEnderecoPessoa[ tgrEnderecoPessoaPK=" + tgrEnderecoPessoaPK + " ]";
}
}
Classe TgrEnderecopessoaPK
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.advpos.entities;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
/**
*
* @author fcscjunior
*/
@Embeddable
public class TgrEnderecoPessoaPK implements Serializable {
@Basic(optional = false)
@Column(name = "GUID", insertable=false, updatable=false)
private String guid;
@Basic(optional = false)
@Column(name = "ID_TGR_ENDERECO_PESSOA")
private long idTgrEnderecoPessoa;
public TgrEnderecoPessoaPK() {
}
public TgrEnderecoPessoaPK(String guid, long idTgrEnderecoPessoa) {
this.guid = guid;
this.idTgrEnderecoPessoa = idTgrEnderecoPessoa;
}
public String getGuid() {
return guid;
}
public void setGuid(String guid) {
this.guid = guid;
}
public long getIdTgrEnderecoPessoa() {
return idTgrEnderecoPessoa;
}
public void setIdTgrEnderecoPessoa(long idTgrEnderecoPessoa) {
this.idTgrEnderecoPessoa = idTgrEnderecoPessoa;
}
@Override
public int hashCode() {
int hash = 0;
hash += (guid != null ? guid.hashCode() : 0);
hash += (int) idTgrEnderecoPessoa;
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof TgrEnderecoPessoaPK)) {
return false;
}
TgrEnderecoPessoaPK other = (TgrEnderecoPessoaPK) object;
if ((this.guid == null && other.guid != null) || (this.guid != null && !this.guid.equals(other.guid))) {
return false;
}
if (this.idTgrEnderecoPessoa != other.idTgrEnderecoPessoa) {
return false;
}
return true;
}
@Override
public String toString() {
return "br.com.advpos.entities.TgrEnderecoPessoaPK[ guid=" + guid + ", tgrEnderecoPessoaH=" + idTgrEnderecoPessoa + " ]";
}
}
Esse erro acontece apenas na tela de endereço do Cliente, utilizo o mesmo método na tela de endereço do Fornecedor e o erro não acontece.
Saber me dizer o que pode ser o erro?