![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
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: 5877 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):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: 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: // 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: 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 |