SóProvas


ID
2519398
Banca
FCC
Órgão
TRE-PR
Ano
2017
Provas
Disciplina
Programação
Assuntos

Considere o fragmento de código abaixo, que utiliza Hibernate Session, em um ambiente Java ideal.


Query q = getSession( ).createQuery("from Candidato where nome_candidato = :nome_candidato");

q.setString("nome_candidato","João");


Nesta consulta, caso o candidato João seja único na tabela do banco de dados, para obter os dados deste candidato em um objeto da classe Candidato, utiliza-se, na sequência do código, a instrução: Candidato candidato =

Alternativas
Comentários
  • a)

    (Candidato) q.uniqueResult( );

  • http://www.javadocexamples.com/org/hibernate/Query/uniqueResult().html

     

    Exemplo:

     

    public Object doInHibernate(Session session) throws HibernateException { 

     

               Query q = session.createQueryb.toString() );

     

    return q.uniqueResult()

     

    }

     

     q.uniqueResult() - Método  retornar uma única instância(resultado) que corresponde à consulta ou null se a consulta não retornar resultados.

  • Resolução:

    caso o candidato João seja único na tabela do banco de dados usaremos o q.uniqueResult( );

    O método uniqueResult() retorna um único resultado ou null.

     

    para obter os dados deste candidato em um objeto da classe Candidato.

    (Candidato) 

     

    Letra a)

    (Candidato) q.uniqueResult( )

     

  • Para fazer essa questão precisamos conhecer o comando uniqueResult( ) do Hibernate:

    - ele retorna uma única da query construída ou NULL se não encontrar.

    - ele torna um objeto - caso encontre.

    Portanto devemos ainda converter o objeto resultante (Object) para o objeto Candidato. 

    (Candidato) q.uniqueResult( );

    GABARITO: A

    Quanto as demais assertivas:

    b) E. getUsuario() é um método da classe Candidato que certamente obtém informações do candidato e ao usarmos ele não acessamos o banco de dados - queremos retornar do banco de dados.

    c) E. getResultAll ( ) é outro método da classe Candidato e não há manipulação com o banco de dados.

    d) E. Ver item c

    e) E. Faltou converter, já que uniqueResult() retorna um Object, que é diferente de Candidato.