Como que eu faço para realizar essas ações nmo hibernate:
publicvoidatualizaStatus(GrupoProcedimentoBeangrupoProcedimento){try{Connectionconnection=ConectaDb.getConnection();PreparedStatementstmt=connection.prepareStatement("UPDATE grupo_procedimento SET grupo_procedimento_status=? WHERE grupo_procedimento_id=?");stmt.setInt(1,grupoProcedimento.getGrupoProcedimentoStatus());stmt.setInt(2,grupoProcedimento.getGrupoProcedimentoID());// executastmt.execute();// fechastmt.close();}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}}publicGrupoProcedimentoBeanbusca(Integerid){GrupoProcedimentoBeangrupoProcedimento=newGrupoProcedimentoBean();try{Connectionconnection=ConectaDb.getConnection();PreparedStatementstmt=connection.prepareStatement("SELECT * FROM grupo_procedimento WHERE grupo_procedimento_id=?");stmt.setInt(1,id);ResultSetrs=stmt.executeQuery();if(!rs.next())returnnull;grupoProcedimento.setGrupoProcedimentoCodigo(rs.getInt("grupo_procedimento_codigo"));grupoProcedimento.setGrupoProcedimentoNome(rs.getString("grupoProcedimento_nome"));grupoProcedimento.setGrupoProcedimentoNome(rs.getString("grupo_procedimento_nome"));grupoProcedimento.setGrupoProcedimentoObservacao(rs.getString("grupo_procedimento_observacao"));grupoProcedimento.setGrupoProcedimentoStatus(rs.getInt("grupo_procedimento_status"));rs.close();stmt.close();}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}returngrupoProcedimento;}
Só consegui dar um save, update geral e um delete pelo hibernate rss
[]'s
Primeiramente, vc pode utilizar uma classe-mãe para os métodos gerais e as classes-filhas para consultas específicas. No caso, seria uma DAO para GrupoProcedimento. Use o template na classe-mãe para obter as classes referentes a entidades.
No caso do atualizaStatus vc pode utilizar o merge mesmo, já que vc está passando um bean como parâmetro.
Infelizmente não tenho acesso a minha máquina agora, depois eu te mando um código de exemplo.
publicclassQueries{/** Atributo responsável pela Sessão com o banco de dados * @param sessionFactory */privateSessionFactorysessionFactory;/** * Construtor da classe que seta uma sessão no sessionFactory *///criar logica que define ql classe será adicionadapublicQueries(){sessionFactory=newConfiguration().addClass(GrupoProcedimentoBean.class).buildSessionFactory();}/** * Método que recebe um objeto e salva o mesmo no banco * @param bean */publicvoidinserir(Objectbean){Sessionsession=sessionFactory.openSession();session.save(bean);session.flush();session.close();}/** * Método que recebe um objeto e atualiza o mesmo no banco * @param bean */publicvoidatualizar(Objectbean){Sessionsession=sessionFactory.openSession();session.update(bean);session.flush();session.close();}/** * Método que recebe um objeto e deleta o mesmo no banco * @param bean */publicvoiddeletar(Objectbean){Sessionsession=sessionFactory.openSession();session.delete(bean);session.flush();session.close();}}
Com a intenção de utilizar somente ela para se comunicar com o BD, mas ainda to com duvidas em métodos do tipo:
public List getLista() public OrigemBean busca(Integer id)
Não consigo entender como o Hibernate vai me retornar uma lista com N objetos ou um objeto somente.
Alguém pode dar uma força ou postar um exemplo para que eu me vire aqui?