Escolar Documentos
Profissional Documentos
Cultura Documentos
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - Campus São Paulo
Persistência
2
● Projeto de uma Aplicação Java usando JDBC (Java
Database Connectivity)
● Arquitetura em duas camadas: Flexibilidade zero
3
Mapeamento de classes persistentes
4
Abordagens
● Top-Down
● Bottom-Up
5
Configuração do ambiente de desenvolvimento
● Escolha da implementação:
○ Hibernate
○ TopLink
○ Outra
6
Mapeamento Básico
7
Mapeamento Básico
● @GeneratedValue: Indica a forma de geração automática do valor do
atribute
○ Parâmetro strategy
■ (default) Generation Type.AUTO (de acordo com o SGBD)
● De acordo com a configuração da tabela no BD
■ Generation Type.IDENTITY (auto increment)
● Não funciona em todos os SGBDs
■ GenetationType.SEQUENCE (auto incremento)
● Auto incremento em uma sequência específica
● Pode-se passar o nome da sequência, Caso não informado,
usa uma sequência global
● A sequência pode ser compartilhada por mais de uma
entidade. Não repetirá o valor entre elas
● Nao funciona em todos as SGBDs
■ GenerationType-TABLE (valores em uma tabela)
● Não é recomendada. Pode gerar sobrecarga de consultas|
● @SequenceGenerator{name=“sequence_name”, 8
sequenceName=“nome_no_sgbd”)
Mapeamento Básico
9
Mapeamento Básico (Observações)
10
Mapeamento de Associações
● De um dos lados:
○ @OneToOne / @OneToMany / @ManyToMany (mappedBy =
“nome”)
● Do outro lado:
○ @OneToOne / @ManyToOne
■ @JoinColumn(name="nome_chave_estranga”,
referencedColumnName="nome_atributo_chave*)
○ @ManyToMany
○ @JoinTable(name = "nome_tabela", joinColumns = {
@JoinColumn(name = "chave_estrangeira_classe_atual", nullable
= false, updatable = false) }, inverseJoinColumns = {
@JoinColumn(name = "chave_estrangeira_classe_atributo”,
nullable = false, updatable = false) })
● OBS.: Os atributos nullable e updatable são opcionais
11
Mapeamento de Associações
13
Mapeamento de Herança
Tabela Única
● É gerado 1 tabela para toda a hierarquia de classes. Unindo
todos os atributos das classes em uma única tabela.
14
Mapeamento de Herança
15
Mapeamento de Herança
16
Mapeamento de Herança
17
Mapeamento de Herança
18
Mapeamento de Herança
19
Linguagem de Programação
Mapeamento objeto relacional; Padrões de acesso a
dados.
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - Campus São Paulo