Pessoal bom dia,
alguém já pegou esse erro:
Caused by: org.hibernate.type.SerializationException: could not deserialize
não sei o que é, espero que alguém possa me ajudar.
Pessoal bom dia,
alguém já pegou esse erro:
Caused by: org.hibernate.type.SerializationException: could not deserialize
não sei o que é, espero que alguém possa me ajudar.
Oi mario,
cara …eu até já tinha visto esse post e minhas classes implementam a interface Serializable.
Tem alguma outra coisa que pode ser?
sim, pode. :lol:
Posta o código do seu bean.
código do bean:
@Entity
@Table(name = "siabmtb003_perfilbiometrico", schema="bd_siabm")
// @SequenceGenerator(name = "perfilbiometrico_seq", sequenceName =
// "perfilbiometrico_seq")
// @IdClass(PerfilBiometricoPK.class)
public class PerfilBiometrico implements Serializable {
private static final long serialVersionUID = -7324871025480600143L;
private PerfilBiometricoPK idComposta;
private Byte[] template;
private Integer qualdidadeTemplate;
private Boolean dedoAusente;
private Cliente clienteFK;
private TipoDedo tipoDedoFK;
public PerfilBiometrico() {
super();
}
public PerfilBiometrico(Byte[] template, Integer qualdidadeTemplate,
Boolean dedoAusente, Cliente clienteFK, TipoDedo tipoDedoFK) {
super();
this.template = template;
this.qualdidadeTemplate = qualdidadeTemplate;
this.dedoAusente = dedoAusente;
this.clienteFK = clienteFK;
this.tipoDedoFK = tipoDedoFK;
}
public PerfilBiometrico(PerfilBiometricoPK idComposta, Byte[] template,
Integer qualdidadeTemplate, Boolean dedoAusente, Cliente clienteFK,
TipoDedo tipoDedoFK) {
super();
this.idComposta = idComposta;
this.template = template;
this.qualdidadeTemplate = qualdidadeTemplate;
this.dedoAusente = dedoAusente;
this.clienteFK = clienteFK;
this.tipoDedoFK = tipoDedoFK;
}
@EmbeddedId
//@Column (name="co_perfilbiometrico_pk", nullable=false)
public PerfilBiometricoPK getIdComposta() {
return idComposta;
}
public void setIdComposta(PerfilBiometricoPK idComposta) {
this.idComposta = idComposta;
}
@Column(name = "bi_template")
public Byte[] getTemplate() {
return template;
}
public void setTemplate(Byte[] template) {
this.template = template;
}
@Column(name = "nu_qualidadetemplate")
public Integer getQualdidadeTemplate() {
return qualdidadeTemplate;
}
public void setQualdidadeTemplate(Integer qualdidadeTemplate) {
this.qualdidadeTemplate = qualdidadeTemplate;
}
@Column(name = "ic_dedoausente", nullable = false)
public Boolean getDedoAusente() {
return dedoAusente;
}
public void setDedoAusente(Boolean dedoAusente) {
this.dedoAusente = dedoAusente;
}
@ManyToOne(fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
@JoinColumn(name = "co_cliente_fk", insertable = false, updatable = false)
/**
* @return the clienteFK
*/
public Cliente getClienteFK() {
return clienteFK;
}
/**
* @param clienteFK
* the clienteFK to set
*/
public void setClienteFK(Cliente clienteFK) {
this.clienteFK = clienteFK;
}
@ManyToOne(fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
@JoinColumn(name = "co_tipodedo_fk", insertable = false, updatable = false)
public TipoDedo getTipoDedoFK() {
return tipoDedoFK;
}
public void setTipoDedoFK(TipoDedo tipoDedoFK) {
this.tipoDedoFK = tipoDedoFK;
}
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((clienteFK == null) ? 0 : clienteFK.hashCode());
result = prime * result
+ ((dedoAusente == null) ? 0 : dedoAusente.hashCode());
result = prime * result
+ ((idComposta == null) ? 0 : idComposta.hashCode());
result = prime
* result
+ ((qualdidadeTemplate == null) ? 0 : qualdidadeTemplate
.hashCode());
result = prime * result + Arrays.hashCode(template);
result = prime * result
+ ((tipoDedoFK == null) ? 0 : tipoDedoFK.hashCode());
return result;
}
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
PerfilBiometrico other = (PerfilBiometrico) obj;
if (clienteFK == null) {
if (other.clienteFK != null)
return false;
} else if (!clienteFK.equals(other.clienteFK))
return false;
if (dedoAusente == null) {
if (other.dedoAusente != null)
return false;
} else if (!dedoAusente.equals(other.dedoAusente))
return false;
if (idComposta == null) {
if (other.idComposta != null)
return false;
} else if (!idComposta.equals(other.idComposta))
return false;
if (qualdidadeTemplate == null) {
if (other.qualdidadeTemplate != null)
return false;
} else if (!qualdidadeTemplate.equals(other.qualdidadeTemplate))
return false;
if (!Arrays.equals(template, other.template))
return false;
if (tipoDedoFK == null) {
if (other.tipoDedoFK != null)
return false;
} else if (!tipoDedoFK.equals(other.tipoDedoFK))
return false;
return true;
}
}
Eu não vi nada especial no seu bean, mas pode ser que o problema esteja em Cliente, TipoDedo ou até mesmo em PerfilBiometricoPK.
Se qualquer uma dessas classes tiver algum campo que não for serializavel, vai dar esse pau.
O seu campo Byte[] tbm pode dar esse problema, mas ai vai de mapeamento e banco, acho que vc poderia criar um teste e retirar esse campo pra ver se é ele que está gerando o problema( ou algum dos outros objetos).
entendi…vou tentar!
Verifique as associações dessa classe, provavelmente o “gato” está lá.
associada a essa classe tenho a classe cliente:
@Entity
@Table(name = "siabmtb001_cliente")
@Root(name = "siabmtb001_cliente")
@BatchSize(size=1)
public class Cliente implements Serializable {
private static final long serialVersionUID = -7986865097247829206L;
private Integer idCliente;
private Date dataCadastro;
private String nis;
private List<PerfilBiometrico> perfisBiometricos;
public Cliente() {
super();
}
public Cliente(Integer idCliente) {
super();
this.idCliente = idCliente;
}
public Cliente(Date dataCadastro, String nis,
List<PerfilBiometrico> perfisBiometricos) {
super();
this.dataCadastro = dataCadastro;
this.nis = nis;
this.perfisBiometricos = perfisBiometricos;
}
@Id
@SequenceGenerator(name = "cliente_seq", sequenceName = "cliente_seq")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="cliente_seq")
@Column(name="co_cliente_pk")
public Integer getIdCliente() {
return idCliente;
}
public void setIdCliente(Integer idCliente) {
this.idCliente = idCliente;
}
@Column(name = "co_nis", nullable = false, length = 11)
@Element(name = "nis", required = true)
public String getNis() {
return nis;
}
public void setNis(String nis) {
this.nis = nis;
}
@Column(name = "dt_cadastro", nullable = false)
@Element(name = "dataCadastro", required = true)
public Date getDataCadastro() {
return dataCadastro;
}
public void setDataCadastro(Date dataCadastro) {
this.dataCadastro = dataCadastro;
}
@OneToMany(mappedBy = "clienteFK", fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
@ElementList(name = "perfilbiometrico", required = true)
public List<PerfilBiometrico> getPerfisBiometricos() {
return perfisBiometricos;
}
public void setPerfisBiometricos(List<PerfilBiometrico> perfisBiometricos) {
this.perfisBiometricos = perfisBiometricos;
}
a classe tipodedo:
@Entity
@Table (name = "siabmtb002_tipodedo")
@SequenceGenerator (name="tipodedo_seq", sequenceName="tipodedo_seq")
public class TipoDedo implements Serializable{
private static final long serialVersionUID = -31804817054861161L;
private Integer idTipoDedo;
private String sigla;
private List<PerfilBiometrico> perfisBiometricos;
public TipoDedo() {
super();
}
public TipoDedo(Integer idTipoDedo) {
super();
this.idTipoDedo = idTipoDedo;
}
public TipoDedo(String sigla, List<PerfilBiometrico> perfisBiometricos) {
super();
this.sigla = sigla;
this.perfisBiometricos = perfisBiometricos;
}
@Id
@GeneratedValue (generator="tipodedo_seq", strategy=GenerationType.AUTO)
@Column (name = "co_tipodedo_pk", nullable=false)
/**
* @return the idTipoDedo
*/
public Integer getIdTipoDedo() {
return idTipoDedo;
}
/**
* @param idTipoDedo the idTipoDedo to set
*/
public void setIdTipoDedo(Integer idTipoDedo) {
this.idTipoDedo = idTipoDedo;
}
@Column (name = "de_sigla", length=15)
public String getSigla() {
return sigla;
}
public void setSigla(String sigla) {
this.sigla = sigla;
}
@OneToMany (mappedBy="tipoDedoFK", fetch=FetchType.LAZY)
@Cascade (CascadeType.ALL)
public List<PerfilBiometrico> getPerfisBiometricos() {
return perfisBiometricos;
}
public void setPerfisBiometricos(List<PerfilBiometrico> perfisBiometricos) {
this.perfisBiometricos = perfisBiometricos;
}
e a classe perfilbiometricoPK:
@Embeddable
public class PerfilBiometricoPK implements Serializable {
private static final long serialVersionUID = 3866057215975519730L;
private Cliente idCliente;
private TipoDedo idTipoDedo;
@Column(name = "co_cliente_fk", nullable = false)
public Cliente getIdCliente() {
return idCliente;
}
public void setIdCliente(Cliente idCliente) {
this.idCliente = idCliente;
}
@Column(name = "co_tipodedo_fk", nullable = false)
public TipoDedo getIdTipoDedo() {
return idTipoDedo;
}
public void setIdTipoDedo(TipoDedo idTipoDedo) {
this.idTipoDedo = idTipoDedo;
}
Poste mais detalhes tbm do seu contexto…Vc está tentando gravar um objeto em um arquivo ? Ou trabalhando com objetos distribuídos ? Ou está trabalhando com streams ? Se possível coloque tbm o código onde está dando o erro para o pessoal te ajudar…
Anexa (NÃO COLE), seu stacktrace no forum por favor.