Você está aqui: Hibernate ::: Classes e Componentes ::: Session |
Obtendo uma instância persistente no banco de dados usando o método get() da interface SessionQuantidade de visualizações: 5948 vezes |
O método get() da interface Session é usado quando queremos obter uma instância persistente a partir do banco de dados. Este método possui a seguinte assinatura (há algumas sobrecargas, mas esta assinatura é a mais comum):---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public Object get(Class clazz, Serializable id) throws HibernateException Veja que só precisamos fornecer o nome de classe da instância que queremos obter e o id do registro na tabela do banco de dados. Se a instância existir no banco de dados, esta será retornada. Caso contrário null será retornado. Veja um trecho de código no qual obtemos um usuário com o id 3 em uma tabela chamada usuarios: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos_hibernate;
import entidades.Usuario;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class Main {
public static void main(String[] args) {
Session session = null;
Transaction tx = null;
try {
// aqui nós lemos as configurações do arquivo hibernate.cfg.xml
// e deixamos o Hibernate pronto para trabalhar
SessionFactory factory = new
Configuration().configure().buildSessionFactory();
// abre uma nova sessão
session = factory.openSession();
// inicia uma transação
tx = session.beginTransaction();
// vamos obter o usuário com o id 3
Long idUsuario = 3L;
Usuario u = (Usuario)session.get(Usuario.class, idUsuario);
// vamos exibir o nome do usuário obtido
System.out.println("O nome do usuário obtido é: " + u.getNome());
// fecha a transação
tx.commit();
}
catch(Exception e) {
// houve algum problema? vamos retornar o banco de dados
// ao seu estado anterior
if(tx != null)
tx.rollback();
System.out.println(e.getMessage());
}
finally {
session.close();
}
}
}
Note que neste trecho de código eu assumi que o registro com id 3 existe na tabela no banco de dados. É sempre uma boa idéia verificar se o objeto retornado é null antes de usá-lo. Veja: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
// vamos obter o usuário com o id 3
Long idUsuario = 43L;
Usuario u = (Usuario)session.get(Usuario.class, idUsuario);
// vamos exibir o nome do usuário obtido
if(u != null)
System.out.println("O nome do usuário obtido é: " + u.getNome());
else
System.out.println("O usuário informado não existe no banco de dados");
É possível também efetuar chamadas ao método get() fornecendo o nome de classe da entidade (incluindo o pacote). Veja: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
Usuario u = (Usuario)session.get("entidades.Usuario", idUsuario);
|
|
|
Veja mais Dicas e truques de Hibernate |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





