Criei uma classe DAOFactory, e nesta classe existe uma variável UsuarioDAO fazendo referencia a classe UsuarioDAOHibernate, porém o eclipse nao reconhece os métodos concatenados na variável UsuarioDAO oriundos da UsuarioDAOHibernate. Parece ser um problema no próprio eclipse. Coloquei as imagens abaixo para ficar mais claro, alguem ja teve um problema similar???
Criei uma classe DAOFactory, e nesta classe existe uma variável UsuarioDAO fazendo referencia a classe UsuarioDAOHibernate, porém o eclipse nao reconhece os métodos concatenados na variável UsuarioDAO oriundos da UsuarioDAOHibernate. Parece ser um problema no próprio eclipse. Coloquei as imagens abaixo para ficar mais claro, alguem ja teve um problema similar???
Métodos concatenados?
wagne23
Você não pode chamar os métodos de UsuarioDaoHibernate no corpo da classe DaoFactory, você precisa colocar essa chamada dentro de um método, ai sim o eclipse vai completar pra você o nome dos métodos da classe UsuarioDaoHibernate.
V
vitolito
Seguinte Wagner… dentro da classe UsuarioDAOHibernate está assim:
importjava.util.List;importorg.hibernate.Query;importorg.hibernate.Session;publicclassUsuarioDAOHibernateimplementsUsuarioDAO{privateSessionsession;publicvoidsetSession(Sessionsession){this.session=session;}publicvoidsalvar(Usuariousuario){this.session.save(usuario);// TODO Auto-generated method stub}@Overridepublicvoidatualizar(Usuariousuario){// TODO Auto-generated method stubthis.session.update(usuario);}@Overridepublicvoidexcluir(Usuariousuario){// TODO Auto-generated method stubthis.session.delete(usuario);}@OverridepublicUsuariocarregar(Integercodigo){// TODO Auto-generated method stubreturn(Usuario)this.session.get(Usuario.class,codigo);}@OverridepublicUsuariobuscarPor(Stringlogin){Stringhql="select u from Usuario u where u.login =: login";Queryconsulta=this.session.createQuery(hql);return(Usuario)consulta.uniqueResult();}@OverridepublicList<Usuario>listar(){// TODO Auto-generated method stubreturnnull;}}
Esta chamada do método setSession nao é reconhecida pelo eclipse, qualquer outro método que eu tente concatenar com UsuarioDAO nao funciona
V
vitolito
É como se os métodos estivessem como private, porem estao como public
wagne23
Vitolito,
Acho que você copiou a mesma classe 2 vezes na última mensagem, mas sem problema, estou olhando nas imagens que você anexou.
Na sua classe DAOFactory você está fazendo o seguinte:
publicclassDAOFactory{UsuarioDAOHibernateusuarioDao=newUsuarioDaoHibernate();usuarioDao.// Aqui você não pode fazer isso}
O certo seria algo como:
publicclassDAOFactory{UsuarioDAOHibernateusuarioDao=newUsuarioDaoHibernate();publicvoidalgumMetodo(){usuarioDao.salvarUsuario(u);//perceba que por estar dentro de um metodo agora voce pode chamar os metodos de usuarioDao, e o eclipse vai fazer o autocomplete.}}
V
vitolito
wagne23:
Vitolito,
Acho que você copiou a mesma classe 2 vezes na última mensagem, mas sem problema, estou olhando nas imagens que você anexou.
Na sua classe DAOFactory você está fazendo o seguinte:
publicclassDAOFactory{UsuarioDAOHibernateusuarioDao=newUsuarioDaoHibernate();usuarioDao.// Aqui você não pode fazer isso}
O certo seria algo como:
publicclassDAOFactory{UsuarioDAOHibernateusuarioDao=newUsuarioDaoHibernate();publicvoidalgumMetodo(){usuarioDao.salvarUsuario(u);//perceba que por estar dentro de um metodo agora voce pode chamar os metodos de usuarioDao, e o eclipse vai fazer o autocomplete.}}
Entendido Wagne, havia me esquecido deste detalhe…rsrsrs, valeu