Tenho duas classe que se relacionam grupo e empresa
Quero gravar grupo mais tenho que relacionar com empresa
Abaixo ta como eu faço isso e logo depois as classe eu uso persist do ejb para salvar grupo
Empresaempresa=(Empresa)ed.find(newInteger(empresaSelecionada));grupo.setEmpresa(empresa);gd.create(grupo);// Mensagem de erro15:08:58,545ERROR[STDERR]java.lang.RuntimeException:java.io.InvalidClassException:org.hibernate.collection.AbstractPersistentCollection;localclassincompatible:streamclassdescserialVersionUID=7602608801868099635,localclassserialVersionUID=-5723701046347946317//Parete das classepublicclassGrupoimplementsSerializable{privatestaticfinallongserialVersionUID=43158495231013063L;@JoinColumn(name="EMP_ID",referencedColumnName="EMP_ID")@ManyToOne(fetch=FetchType.EAGER)privateEmpresaempresa;}publicclassEmpresaimplementsSerializable{privatestaticfinallongserialVersionUID=-1815595371297240853L;@OneToMany(mappedBy="empresa",fetch=FetchType.EAGER,cascade=CascadeType.ALL)privateList<Grupo>grupos;}
Tenho duas classe que se relacionam grupo e empresa
Quero gravar grupo mais tenho que relacionar com empresa
Abaixo ta como eu faço isso e logo depois as classe eu uso persist do ejb para salvar grupo
Empresa empresa = (Empresa) ed.find(new Integer(empresaSelecionada));
grupo.setEmpresa(empresa);
gd.create(grupo);
// Mensagem de erro
15:08:58,545 ERROR [STDERR] java.lang.RuntimeException: java.io.InvalidClassException: org.hibernate.collection.AbstractPersistentCollection; local class incompatible: stream classdesc serialVersionUID = 7602608801868099635, local class serialVersionUID = -5723701046347946317
//Parete das classe
public class Grupo implements Serializable {
private static final long serialVersionUID = 43158495231013063L;
@JoinColumn(name="EMP_ID", referencedColumnName="EMP_ID")
@ManyToOne(fetch=FetchType.EAGER)
private Empresa empresa;
}
public class Empresa implements Serializable {
private static final long serialVersionUID = -1815595371297240853L;
@JoinColumn(name ="EMP_ID_MAE", referencedColumnName = "EMP_ID")
@OneToOne
private Empresa empresa;
}
Agradeço a atenção
Duas coisas:
I) Edita seu post e coloca entre as tags [code];
II) Limpa os diretórios temporários do seu app-server;
felipeguerra
mrb0305:
Tenho duas classe que se relacionam grupo e empresa
Quero gravar grupo mais tenho que relacionar com empresa
Abaixo ta como eu faço isso e logo depois as classe eu uso persist do ejb para salvar grupo
Empresaempresa=(Empresa)ed.find(newInteger(empresaSelecionada));grupo.setEmpresa(empresa);gd.create(grupo);// Mensagem de erro15:08:58,545ERROR[STDERR]java.lang.RuntimeException:java.io.InvalidClassException:org.hibernate.collection.AbstractPersistentCollection;localclassincompatible:streamclassdescserialVersionUID=7602608801868099635,localclassserialVersionUID=-5723701046347946317//Parete das classepublicclassGrupoimplementsSerializable{privatestaticfinallongserialVersionUID=43158495231013063L;@JoinColumn(name="EMP_ID",referencedColumnName="EMP_ID")@ManyToOne(fetch=FetchType.EAGER)privateEmpresaempresa;}publicclassEmpresaimplementsSerializable{privatestaticfinallongserialVersionUID=-1815595371297240853L;@JoinColumn(name="EMP_ID_MAE",referencedColumnName="EMP_ID")@OneToOneprivateEmpresaempresa;}
Agradeço a atenção
Ahh, e não duplique as bibliotecas do projeto, misturando versões diferentes.