E ai pessoal, blz ?
Seguinte, abaixo tem um exemplo simples e o mais próximo do meu problema para que consigam entender.
Estou utilizando Netbeans 6.5 + TopLink Essentials + Glassfish + JSF.
@OneToMany(mappedBy="pai", cascade=CascadeType.ALL)
private List<Filho> filhos;
@ManyToOne
@JoinColumn(name="idPai")
private Pai pai;
//Get e Set
public Pai getPai() {
return pai;
}
public void setPai(Pai pai) {
this.pai = pai;
}
public void adicionarFilho(ActionEvent event) {
if (this.getPai().getFilhos() == null) {
this.getPai().setFilhos(new ArrayList<Filho>());
}
/* Verifica se ja existe email na lista.
- Caso sim, atualiza objeto na lista utilizando index.
- Caso não, adiciona objeto na lista. */
if (this.getPai().getFilhos().contains(filho)) {
this.getPai().getFilhos().set(this.getPai().getFilhos().indexOf(filho), filho);
} else {
filho.setPai(this.getPai);
this.getPais().getFilhos().add(filho);
}
}
Caused by: java.lang.NoSuchMethodError: br.com.x.modelos.Filho._toplink_setPai(Lbr/com/x/modelos/Pai;)V
at br.com.x.modelos.Filho.setPai(Filho.java:284)
at br.com.x.controles.MbPais.adicionarFilho(MbPais.java:553)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:88)
... 48 more
[color=red]IMPORTANTE:[/color] Tenho uma outra classe (exemplo: "Filho 2") que faz exatamente o mesmo procedimento da classe Filho, com o mesmo relacionamento, porém esta adiciona normalmente. Não apresenta o erro no momento do set igual a essa que postei acima.
Já verifiquei se poderia ter algo de diferente, já refiz o relaciomento e nada. As duas estão exactamente iguais.
Alguem tem alguma ideia do que pode ser ?
Porque em uma funciona e na outra não ?
Aguardo e Obrigado !