Tenho uma interface que se chama
UsuarioDAO
public interface UsuarioDAO {
public void salvar(Usuario usuario);
public void atualizar(Usuario usuario);
public void excluir(Usuario usuario);
public Usuario carregar(Integer codigo);
public Usuario buscarPorLogin(String login);
public List<Usuario> listar();
}
agora tenho uma classe
UsuarioDAOHibernate
public class UsuarioDAOHibernate implements UsuarioDAO {
private Session session;
public void setSession(Session session) {
this.session = session;
}
@Override
public void salvar(Usuario usuario) {
this.session.save(usuario);
}
@Override
public void atualizar(Usuario usuario) {
this.session.update(usuario);
}
@Override
public void excluir(Usuario usuario) {
this.session.delete(usuario);
}
@Override
public Usuario carregar(Integer codigo) {
return (Usuario) this.session.get(Usuario.class, codigo);
}
@Override
public Usuario buscarPorLogin(String login) {
String hql = "select u from Usuario u where u.login = :login";
Query consulta = this.session.createQuery(hql);
consulta.setString("login", login);
return (Usuario) consulta.uniqueResult();
}
@SuppressWarnings("unchecked")
@Override
public List<Usuario> listar() {
return this.session.createCriteria(Usuario.class).list();
}
}
a duvida é nessa linha de comando
UsuarioDAOHibernate usuarioDAO = new UsuarioDAOHibernate();
UsuarioDAO novo;
novo = usuarioDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
alguem pode me esplicar oq ocorre aqui? pq é assim? no livro que estou lendo eles não explicam somente é assim.
Obrigado
