FC ConcursosFC Concursos

Questão FC373651

Em aplicações web que utilizam recursos Hibernate/JPA, informações armazenadas em tabelas do banco de dados podem ser obtidas utilizando-se Hibernate Query Language (HQL), consulta

Frameworks para Desenvolvimento

FCC · 2019

Em aplicações web que utilizam recursos Hibernate/JPA, informações armazenadas em tabelas do banco de dados podem ser obtidas utilizando-se Hibernate Query Language (HQL), consultas nativas ou a API Criteria. Sabendo disso, um Analista de Informática que está desenvolvendo uma aplicação Java EE e que possui nessa aplicação uma classe de entidade chamada Produto, relacionada à tabela produto de um banco de dados relacional, fez a seguinte pesquisa:


Criteria crt = session.createCriteria(Produto.class);
List resultado = crt.list();


Considerando que na classe Produto há um atributo nome que está relacionado ao nome do produto na tabela do banco de dados, para o Analista obter apenas os produtos cujo campo nome seja igual a HD, deverá utilizar, entre os comandos acima, a instrução:

  1. crt.add(Restrictions.ne("nome","HD"));
  2. crt.getString(Filter.sqlEquals("nome","HD"));
  3. crt.filter("nome","HD"));
  4. crt.getString(Query.equals("nome","HD"));
  5. crt.add(Constraint.ne("nome","HD"));
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A instrução crt.add(Restrictions.ne("nome","HD")); adiciona ao objeto Criteria uma restrição do tipo “não igual” sobre o atributo nome.

O método Restrictions.ne retorna um objeto Criterion que representa a condição lógica aplicada à consulta gerada pelo Hibernate.

Na prática, ao executar crt.list() após essa chamada, serão retornadas todas as entidades Produto cujo campo nome seja diferente de "HD".

Em SQL, essa restrição corresponde a WHERE nome <> 'HD', ou seja, filtra resultados excluindo os registros com nome igual a "HD".

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo