Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro de Execução
IDE Release
Eclipse Indigo
Oracle VM
NetBeans
1 - Preparando o ambiente
2.6 Para que o código da aplicação fique separado em suas devidas camadas, serão
criados mais dois pacotes: controller e model.
4 - Criar novo banco de Dados
3.2 Expanda a ávore de gerenciamento do banco até chegar em databases, clique com o
botão direito/New Database...
3.3 Digite o nome do banco de dados “sampleDB”/Clique em OK.
4 - Criar Uma nova conexão com o banco de Dados
4.2 Clique com o botão direito no serviço Database. Depois em new Connection...
4.3 Na opção Driver Selecione o banco de dados desejado. Neste curso será utilizado o
banco de dados PostgreSQL. Portanto selecione essa opção no menu Driver. Clique em
Next.
Login: postgres
Senha: postgres
A partir dessa conexão é também possível gerenciar o banco de dados. Isto é, criar
novas tabelas e visões sem a necessidade de utilizar comandos SQL.
5 - Criar um persistence unit e entender o arquivo de configuração
● Caso não esteja aparecendo no seu menu de contexto, selecionar a opção New ->
Other..., em Categories selecionar Persistence e em File Types selecionar a opção
Persintence Unit.
*Note que o Netbeans gerará uma classe básica que implementa serializable e
possuir alguns atrbutitos. Por enquanto abstraia as anotações e demais
conteúdos gerados, apenas termine de adicionar os demais atributos na
classe.
8.1 Uma vez que o modelo lógico do banco de dados da aplicação já está
pronto, é possivel gerar a camada de modelo da aplicação a partir dele.
Para isso, faça os passos a seguir.
8.1.1 Clique na aba projects e expanda a árvore de diretórios até o pacote
que deseja gerar as entidades(pacote model).
8.1.2 Clique com o botão direito do mouse/New/Entity Classes from database.
*JABX - Java Architecture form XML Binding é um padrão Java que define como
objetos java são convertido de e para XML.
Um exemplo simples de como utilizar JABX pode ser encontrado no endereço:
http://www.vogella.com/articles/JAXB/article.html
9.1.5 crie a tabela departamento. Atenção para não esquecer a chave estrangeira de
departamento.
create table departamento(
numero int not null,
gerente varchar(11),
sigla varchar(5) not null,
endereco varchar(20),
);
10 - Associações 1-N(One-to-Many)
);
Pode ser utilizado o parâmetro ‘cascade’ para indicar que qualquer operação efetuada em
um banco deve ser cascateada para os suas respectivas agências;
cascade = CascadeType.ALL
As opções decascatapodemserdefinidasporoperaçãodepersistênciaquesedesejaque
se torne transitiva, i.e., individualmente para as operações de inserção
(CascadeType.PERSIST), atualização (CascadeType.MERGE) ou deleção
(CascadeType.REMOVE); ou abranger todas essas operações conjuntamente
(CascadeType.ALL).
@ManyToOne = declaraumrelacionamentomuitosparaum,ouseja,maisdeumprojetopode
ser associado a um único coordenador.
);
11.1.6 Verifique que neste caso o netbeans não gerou uma classe para representar a
chave estrangeira dorelacionamentocursa.Gerarumanovaclassedeveserfeitosomente
quando há atributos na relação.
11.2.2 Observe que neste caso o relacionamento cursa possui atributo. Portanto,deverá
ser criada uma classe para mapeá-la.
11.2.6 Verifique as classes que foram geradas. Note que desta vez foram criadas as
classes Cursa e CursaPK.
12 - Mapeamento de Herança
12.1 É importante ressaltar que nem todo relacionamento entre entidades trata de
questões de cardinalidade, ou seja, nem sempre a relação entre duas entidades é
meramente quantitativa.
*@Inheritance: determina um relacionamento de herança. O parâmetro strategy determina qual será
o tipo de estratégia utilizada (tabela por hierarquia, tabela por classe ou tabela por subclasse).
@DiscriminatorColumn: declara qual é o campo da tabela que determina o tipo do objeto . O
parâmetro name determina o nome desse campo.
● Atenção as estratégias de mapeamento de herança:
○ Uma tabela para toda a hierarquia.
○ Uma tabela para cada entidade na hierarquia
○ Uma tabela por entidadefilha mais especializada.
Objetivo: Conhecer melhor a classe Entity Manager Bem como alguns dos seus principais
métodos.
12.3 O método“publicvoidremove(Objecto);”excluioobjetodobancodedados.Maisa
frente será melhor abordado este assunto.
13.4 O método “public <T extends Object> T find(Class<T> type, Object o);” busca um
objeto vis sua chave primária no banco/cache.
Observações: A partir deste momento será considerado uma aplicação denominada aplicação
financeira.
13.8 Conectese ao banco AplicacaoFinanceira e faça a geração da camada de entidade pelo
netbeans.
13.10 Faça o import do projeto AplicacaoFinanceirav09.
Analise as classes Cliente, clienteTemConta
14.5 Verifique a agencia não foi deletada devido estar no contexto de persistência com
o objeto banco.
Banco banco = agencia.getBanco();
banco.getAgencias().remove(agencia);
15 Consultas