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:
- crt.add(Restrictions.ne("nome","HD"));
- crt.getString(Filter.sqlEquals("nome","HD"));
- crt.filter("nome","HD"));
- crt.getString(Query.equals("nome","HD"));
- 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