Questão nº 56

Questão de Tecnologia da Informação · FCC TRT20 2024 (nº 56)

FCC2024Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Aver comentário ↓

Usando JPA 2.0, um Técnico utilizou a anotação `@MappedSuperclass` que é útil para mapear uma classe de entidade

Resposta comentada

Gabarito Alternativa A

A anotação @MappedSuperclass é usada para criar uma classe base que contém campos e métodos comuns, mas que não é uma entidade e, portanto, não é mapeada para uma tabela no banco de dados por si só. Suas propriedades são herdadas e mapeadas pelas classes filhas que são entidades.

  • (A) Correta: Uma @MappedSuperclass é uma classe que serve como base para outras entidades, contendo atributos que serão herdados e mapeados para o banco de dados pelas classes filhas. Ela própria não é uma entidade e, por isso, não é persistida diretamente em uma tabela. Ela pode ser abstrata (e geralmente é, por boa prática), mas não é um requisito estrito da JPA.
  • (B) Incorreta: Esta alternativa descreve a estratégia de herança SINGLE_TABLE (@Inheritance(strategy = InheritanceType.SINGLE_TABLE)), onde uma hierarquia de entidades (incluindo a superclasse que é uma entidade) é persistida em uma única tabela. Uma @MappedSuperclass não é uma entidade e não participa diretamente de uma estratégia de herança de entidades nesse sentido. Armadilha: A armadilha aqui é confundir a herança de atributos de uma @MappedSuperclass com as estratégias de herança de entidades, que envolvem classes que são entidades e são persistidas.
  • (C) Incorreta: Esta alternativa descreve a estratégia de herança JOINED (@Inheritance(strategy = InheritanceType.JOINED)), onde cada entidade na hierarquia (incluindo a superclasse que é uma entidade) é persistida em uma tabela separada, com chaves estrangeiras para ligar as tabelas. Novamente, uma @MappedSuperclass não é uma entidade e não tem sua própria tabela.
  • (D) Incorreta: Uma @MappedSuperclass não é persistida diretamente no banco de dados. A persistência ocorre apenas para as classes filhas que a estendem e que são @Entity. Além disso, embora possa ser concreta, é mais comum e recomendado que seja abstrata.
  • (E) Incorreta: Uma tabela de junção (ou associação) é usada principalmente para mapear relacionamentos muitos-para-muitos (@ManyToMany) entre entidades, ou para mapear coleções de elementos. Não tem relação com o propósito de uma @MappedSuperclass.

Fonte: FCC TRT20 2024 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 004). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho