Buscar

Sobre o campo definido como @Id, pode-se definir que não precisa de método set. A ideia da JPA é que o id é imutável, então não seria necessário ac...

Sobre o campo definido como @Id, pode-se definir que não precisa de método set. A ideia da JPA é que o id é imutável, então não seria necessário acesso a ele por set. Imagine uma tabela Pessoa cujo @Id fosse o CPF. Bastaria marcar o campo private String cpf com @Id para funcionar corretamente. Toda entity precisa de um campo anotado com @Id. Perceba que no código da classe Musica em nenhum momento foi citado o nome da tabela no banco de dados. A JPA por padrão procurará uma tabela com o mesmo nome da classe, e o mesmo para todos os campos da classe. A JPA procurará por colunas com o nome id e nome. E se o nome da tabela música fosse tb_music_2421638? Bastaria então utilizar a anotação @Table que já seria possível sobrescrever o valor padrão do nome da classe. Uma grande vantagem da JPA é que, quando falamos de mapeamento de banco de dados, é possível alterar os comportamentos padrões nele previsto. Nome de coluna, nome de tabela, nome de relacionamentos, dentre outros. Veja a seguir como utilizar a anotação @Table e @Column.

a) As anotações @Table, @Basic e @Column definem um relacionamento direto entre a classe e o banco de dados, alterando todos os valores padrões que a JPA seguiria.
b) A anotação @Entity tem o atributo name que pode alterar como a entity é conhecida pela JPA. Esse valor terá influência, por exemplo, na forma de realizar pesquisas no banco de dados através de JPQLs.
c) A anotação @Basic tem dois atributos: optional e fetch. Essa anotação é padrão para todo atributo de uma classe, podendo definir se o valor pode estar null na persistência e se o conteúdo será carregado juntamente com a Entity quando buscada no banco de dados.
d) A anotação @Column permite customizar a maneira com que as colunas serão representadas no banco de dados, com atributos como name, length, unique, nullable, entre outros.

Essa pergunta também está no material:

19 - Jpa Eficaz as Melhores Praticas de Persistencia de Dados em Java
169 pág.

Português Escola Colegio Estadual Barao Do Rio BrancoEscola Colegio Estadual Barao Do Rio Branco

Respostas

User badge image

Ed Verified user icon

Vamos analisar as alternativas: a) As anotações @Table, @Basic e @Column definem um relacionamento direto entre a classe e o banco de dados, alterando todos os valores padrões que a JPA seguiria. Essa afirmação está incorreta. As anotações @Table, @Basic e @Column não definem um relacionamento direto entre a classe e o banco de dados, mas sim ajudam a personalizar o mapeamento entre a classe e as tabelas/colunas do banco de dados. b) A anotação @Entity tem o atributo name que pode alterar como a entity é conhecida pela JPA. Esse valor terá influência, por exemplo, na forma de realizar pesquisas no banco de dados através de JPQLs. Essa afirmação está correta. O atributo "name" da anotação @Entity pode alterar como a entidade é conhecida pela JPA, o que pode influenciar a forma como as consultas são feitas no banco de dados usando JPQL. c) A anotação @Basic tem dois atributos: optional e fetch. Essa anotação é padrão para todo atributo de uma classe, podendo definir se o valor pode estar null na persistência e se o conteúdo será carregado juntamente com a Entity quando buscada no banco de dados. Essa afirmação está incorreta. A anotação @Basic não é padrão para todo atributo de uma classe. Ela é usada para personalizar o mapeamento de atributos simples para colunas de banco de dados. d) A anotação @Column permite customizar a maneira com que as colunas serão representadas no banco de dados, com atributos como name, length, unique, nullable, entre outros. Essa afirmação está correta. A anotação @Column é usada para personalizar a forma como as colunas serão representadas no banco de dados, permitindo definir atributos como nome, tamanho, unicidade, nulidade, entre outros. Portanto, a alternativa correta é a letra b) A anotação @Entity tem o atributo name que pode alterar como a entity é conhecida pela JPA. Esse valor terá influência, por exemplo, na forma de realizar pesquisas no banco de dados através de JPQLs.

0
Dislike0

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Mais conteúdos dessa disciplina