13.1. Metadata Mapping
Descreva o mapeamento em metadados; código genérico faz o resto.
Resumo
- Guarda os detalhes do mapeamento objeto-relacional em metadados (XML, anotações, tabela).
- Duas estratégias: geração de código a partir dos metadados ou programa reflexivo que os lê em tempo de execução.
- Elimina o código repetitivo de mapeamento escrito à mão, classe por classe.
- Reflexão: flexível, porém mais lenta e difícil de depurar. Geração: rápida, mas exige etapa de build.
- É a base das ferramentas O/R. Habilita Query Object e Repository em termos de objetos.
Perguntas-chave
responda de cabeça, depois abraQuais as duas formas de usar os metadados?
Gerar código a partir deles ou interpretá-los em tempo de execução via reflexão.
Qual a desvantagem da reflexão?
Mais lenta e mais difícil de depurar que código gerado ou escrito à mão.
Quais padrões dependem do Metadata Mapping?
Query Object e Repository costumam se apoiar nele para traduzir objetos em SQL.
Exercícios de fixação
0/5 respondidas1.
Anotações
@Column(name="nm_cliente") nas classes, lidas por um mapeador genérico em tempo de execução. Qual padrão?2.
Qual a vantagem da geração de código sobre a reflexão em Metadata Mapping?
3.
Que problema o Metadata Mapping resolve?
4.
Onde os metadados de mapeamento podem ficar?
5.
Qual é o custo principal do Metadata Mapping?