Senhores, estou tentando salvar um usuário que tem vários relacionamentos... ele salva legal, porem agora estou tentando salvar uma conta de relacionamento onetoone junto ao usuario e estou tomando o seguinte erro...
javax.servlet.ServletException: #{cadastroPessoa.cadastrar}: java.lang.Error: Unresolved compilation problem:
The method salvar(Pessoa, Conta) in the type PessoaDao is not applicable for the arguments (Pessoa)
onde eu gravo:
try{
this.conta.setSenha(this.senhaCriptografada);
PessoaFisica usuario = new PessoaFisica();
Conta contaUsuario = new Conta();
usuario.setNome(pessoa.getNome());
usuario.setTipoPessoa(pessoa.getTipoPessoa());
usuario.setCpf(pf.getCpf());
usuario.setDatanascimento(pf.getDatanascimento());
usuario.setSexo(pf.getSexo());
usuario.setEndereco(endereco);
usuario.setTelefone(telefone);
contaUsuario.setEmail(conta.getEmail());
contaUsuario.setSenha(conta.getSenha());
contaUsuario.setPessoa(usuario);
new PessoaDao().salvar(usuario, contaUsuario);
context.addMessage("formCadastroPessoa:valN2", new FacesMessage(FacesMessage.SEVERITY_INFO , "Sucesso!", "Usuário cadastrado com sucesso!"));
}catch (Exception e) {
context.addMessage("formCadastroPessoa:valN2", new FacesMessage(FacesMessage.SEVERITY_INFO , "Erro!", e.getMessage()));
}
Meu dao:
public void salvar(Pessoa pessoa, Conta conta) throws Exception {
s = HibernateUtil.getInstance();
t = null;
try{
t = s.beginTransaction();
s.save(pessoa);
s.save(conta);
t.commit();
} catch(Exception e){
e.printStackTrace();
t.rollback();
} finally{
s.close();
}
}
e meu bean conta:
package com.aquaRj.model.cadastro;
import java.io.Serializable;
import javax.persistence.*;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
@Entity
@Table(name="conta")
public class Conta implements Serializable{
private static final long serialVersionUID = 1000L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="codconta")
private long codconta;
@OneToOne(fetch=FetchType.EAGER, cascade=CascadeType.ALL)
@Fetch(FetchMode.JOIN)
@JoinColumn(name="codpessoa", updatable=true, insertable=true)
private Pessoa pessoa;
@Column(name="email", length=40, nullable=false, unique=true)
private String email;
@Column(name="senha", nullable=false)
private String senha;
estou achando que é algo idiota que eu durante 2 dias não percebi...
Alguém pode me ajudar?