Java tutorial
/* * Cdigo-fonte do livro "Programao Java para a Web" * Autores: Dcio Heinzelmann Luckow <decioluckow@gmail.com> * Alexandre Altair de Melo <alexandremelo.br@gmail.com> * * ISBN: 978-85-7522-238-6 * http://www.javaparaweb.com.br * http://www.novatec.com.br/livros/javaparaweb * Editora Novatec, 2010 - todos os direitos reservados * * LICENA: Este arquivo-fonte est sujeito a Atribuio 2.5 Brasil, da licena Creative Commons, * que encontra-se disponvel no seguinte endereo URI: http://creativecommons.org/licenses/by/2.5/br/ * Se voc no recebeu uma cpia desta licena, e no conseguiu obt-la pela internet, por favor, * envie uma notificao aos seus autores para que eles possam envi-la para voc imediatamente. * * * Source-code of "Programao Java para a Web" book * Authors: Dcio Heinzelmann Luckow <decioluckow@gmail.com> * Alexandre Altair de Melo <alexandremelo.br@gmail.com> * * ISBN: 978-85-7522-238-6 * http://www.javaparaweb.com.br * http://www.novatec.com.br/livros/javaparaweb * Editora Novatec, 2010 - all rights reserved * * LICENSE: This source file is subject to Attribution version 2.5 Brazil of the Creative Commons * license that is available through the following URI: http://creativecommons.org/licenses/by/2.5/br/ * If you did not receive a copy of this license and are unable to obtain it through the web, please * send a note to the authors so they can mail you a copy immediately. * */ package br.com.siam.dao; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import br.com.siam.entidade.Usuario; public class UsuarioDAOHibernate implements UsuarioDAO { private Session session; public void setSession(Session session) { this.session = session; } public void salvar(Usuario usuario) { usuario.setId(null); // try { // throw new DAOException("A senha no foi confirmada corretamente."); // } catch (DAOException e) { // } this.session.saveOrUpdate(usuario); } public void atualizar(Usuario usuario) { if (usuario.getPermissao() == null || usuario.getPermissao().size() == 0) { Usuario usuarioPermissao = this.carregar(usuario.getId()); usuario.setPermissao(usuarioPermissao.getPermissao()); this.session.evict(usuarioPermissao); } this.session.update(usuario); } public void excluir(Usuario usuario) { this.session.delete(usuario); } public Usuario carregar(Integer codigo) { //TODO o hibernate nao conseguira fazer a carga caso seja passado o Usuario // no parametro, tem que ser diretamente a chave (integer) return (Usuario) this.session.get(Usuario.class, codigo); } 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); //TODO mostrar primeiramente com o list e depois apresentar o uniqueResult return (Usuario) consulta.uniqueResult(); } @SuppressWarnings("unchecked") public List<Usuario> listar() { return this.session.createCriteria(Usuario.class).list(); } }