O documento discute mapeamento objeto-relacional (MOR) usando Java Persistence API (JPA). Ele explica o problema da diferença entre programação orientada a objetos e bancos de dados relacionais e como JPA resolve isso mapeando classes para tabelas de banco de dados. Também descreve características e implementações de JPA como Hibernate e anotações comuns como @Entity e @Table.
Aula com tutorial sobre JPA usando o NetBeans 7.1. Ensina passo-a-passo a geração de classes entidade e controladores (DAO) JPA no NetBeans 7.x.
O banco de dados utiliza o sgbd H2 Database.
Aula com tutorial sobre JPA usando o NetBeans 7.1. Ensina passo-a-passo a geração de classes entidade e controladores (DAO) JPA no NetBeans 7.x.
O banco de dados utiliza o sgbd H2 Database.
Palestra sobre o tema "Boas Práticas com JPA 2 e Hibernate". Apresentada no FLISOL 2012 em Goiânia (GO). Não poderia deixar de citar como fonte o excelente blog da Caleum. http://blog.caelum.com.br/
Além do suporte à orientação a objetos o PHP 5 conta com uma série de funcionalidades e bibliotecas nativas que facilitam e otimizam o desenvolvimento de aplicações de médio e grande porte. Porém, às vesperas do lançamento da versão 5.3 do PHP, muitos profissionais ainda desconhecem as grandes vantagens dos releases 5.x da linguagem e, muitas vezes, mantém seus códigos estruturados para a versão 4.x.
Aqui são apresentados conceitos básicos sobre o paradigma web. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
INTERFACES para o USUÁRIO - a base de um sistema de gerenciamento para restau...Michel Souza
Projeto de Conclusão de Curso - UEMG/2010
Objetivo:
Desenvolvimento do projeto de interface para o sistema de gerenciamento destinado a um restaurante em Belo Horizonte (Vecchio Sogno), que permita maior agilidade no atendimento pela compreensão e facilidade no manuseio pelos usuários de cada setor do estabelecimento (recepção, cardápio, cozinha, caixa e gerencia).
Desenvolvido por Michel Souza
Prof. Orientador: Breno Pessoa
Consultor: Filipe Trindade e Rubem Myrrha
Palestra sobre o tema "Boas Práticas com JPA 2 e Hibernate". Apresentada no FLISOL 2012 em Goiânia (GO). Não poderia deixar de citar como fonte o excelente blog da Caleum. http://blog.caelum.com.br/
Além do suporte à orientação a objetos o PHP 5 conta com uma série de funcionalidades e bibliotecas nativas que facilitam e otimizam o desenvolvimento de aplicações de médio e grande porte. Porém, às vesperas do lançamento da versão 5.3 do PHP, muitos profissionais ainda desconhecem as grandes vantagens dos releases 5.x da linguagem e, muitas vezes, mantém seus códigos estruturados para a versão 4.x.
Aqui são apresentados conceitos básicos sobre o paradigma web. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
INTERFACES para o USUÁRIO - a base de um sistema de gerenciamento para restau...Michel Souza
Projeto de Conclusão de Curso - UEMG/2010
Objetivo:
Desenvolvimento do projeto de interface para o sistema de gerenciamento destinado a um restaurante em Belo Horizonte (Vecchio Sogno), que permita maior agilidade no atendimento pela compreensão e facilidade no manuseio pelos usuários de cada setor do estabelecimento (recepção, cardápio, cozinha, caixa e gerencia).
Desenvolvido por Michel Souza
Prof. Orientador: Breno Pessoa
Consultor: Filipe Trindade e Rubem Myrrha
Workshop modelando usuários, tarefas e idéiasKarine Drumond
Este workshop foi conduzido pela Latitude14 no Dia Mundia da Usabilidade 2010 em Belo Horizonte. São técnicas rápidas e ágeis para criação de personas, modelagem de tarefas e geração de protótipos para criação de produtos interativos.
O Java Persistence API(JPA) é um framework utilizado para realizar a persistência dos objetos Java, com ele foi possível obter uma padronização na forma de persistir os dados. A implementação mais conhecida atualmente é o Hibernate, onde é possível diminuir a complexidade de uma aplicação Java – baseada no modelo Orientado a Objetos – para banco de dados que utilizam uma abordagem relacional.
Neste material podem ser encontrados conceitos e dicas necessárias ao desenvolvimento de uma aplicação completa utilizando JSF com JPA, tendo como biblioteca de Persistência o Hibernate e a biblioteca de componentes Primefaces.
Doctrine 2 camada de persistência para phpFabio B. Silva
Palestra apresentada na sfcon 2012, conferência brasileira sobre Symfony.
Doctrine é o ORM que está se tornando um padrão para aplicações php de meio e grande porte. Conheça as vantagens e desvantagens em usá-lo, componentes e melhores práticas para o desenvolvimento de uma aplicação ágil, usufruindo de todo o poder do doctrine de forma escalável e mantendo um código de qualidade.
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Nécio de Lima Veras
Apresentação utilizada no WESSAC 2014 para apresentação do artigo intitulado de "Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviços de Saúde".
1. Programação Orientada a Objetos
Estudo de Frameworks
(Mapeamento Objeto-Relacional em Java)
Objetivo: Identificar os processos de
mapeamento Objeto-Relacional
Prof. Nécio de Lima Veras
2. Problema
POO – Programação Orientada a Objetos
x
BDR – Banco de Dados Relacionais
=
Paradigmas Diferentes
4. Solução
• Também chamado de ORM
– Object Relational Mapping
• Resolve o famoso problema de
“descompasso de impedância”
(impedance mismatch) entre os mundos
objeto e relacional.
• Pode ser usado para gerar as tabelas no
banco de dados ou atualizar as restrições
de integridade.
7. Ou seja...
• O melhor dos dois mundos:
– Modelo Orientado a Objetos;
– Performance e confiabilidade dos bancos de
dados relacionais.
8. Quais suas utilidades?
• O uso de uma solução de mapeamento objeto-
relacional pode solucionar problemas do tipo:
– Como devem ser as classes persistentes?
– Como mapear hierarquias e relações?
– Como recuperar os dados de associações de forma
eficiente ?
– Como gerenciar os recursos necessários: transações,
cache, concorrência ?
9. Porque utilizar?
• Vamos além da padronização da persistência.....!?
– Produtividade
• Elimina “90%” do código SQL da aplicação;
• Reduz o custo de tratamento de transações, erros, entre
outros;
– Manutenibilidade
• Menos linhas de código == melhor manutenção;
• Redução drástica do impacto de mudanças na base de dados;
– Desempenho
• Os recursos da solução de MOR podem melhorar o
desempenho das buscas;
• Sobra tempo para a equipe trabalhar em otimizações do
sistema;
• Só falta agora uma forma padronizada de se fazer esse
mapeamento;
10. Eis que surge o JPA
• O que é?
– É uma especificações da linguagem Java para a
persistência de dados;
– Atua na camada de persistência de dados;
– Define o mapeamento objeto-relacional com base em
anotações;
• Especificada pela JSR-220 (Java Specification Requests)
– Mesma que especificou o EJB 3.0 (Enterprise JavaBeans
3.0);
– Padroniza o mapeamento Objeto-Relacional em Java;
• Solução completa para MOR e persistência de dados:
– Modo declarativo de descrever mapeamento O/R;
– Linguagem de consulta (EJB QL);
– Ferramentas para manipular entidades.
11. JPA: Características
• Portabilidade;
• Persistência transparente:
– Não há necessidade de implementação de interfaces
especiais ou classes base. Usa POJOs – Plain Old Java
Objetcs;
– Atributos são persistidos;
– Não há necessidade de geração de código;
– Suporta tipos definidos pelo usuário
– Controle transparente de restrições de integridade;
• Consulta orientada a objetos ou não:
– EJB QL;
– Consultas dinâmicas e nomeadas;
– SQL Nativo;
12. JPA: Instâncias
• Existem algumas implementações:
– Toplink (oracle);
• É a implementação de referência usada pela Sun
• Mais enxuto e menor que o Hibernate: apenas 2
jars são necessários;
– Hibernate;
– GlassFish;
– Apache OpenJPA;
• Todos implementam a solução ORM de acordo com a
especificação JPA;
• Têm o formato de arquivos *.jar que adicionados ao
classPath da aplicação tornam-se disponíveis;
14. Hibernate
● Mais conhecida, mais tradicional.
● Endereço para Download.
● http://www.hibernate.org
● Na pagina de downloads:
15. Hibernate
• Poderoso framework de mapeamento objeto-
relacional (MOR);
• Framework de Persistência;
• Excelente performance;
• É a mais popular ferramenta de MOR da
atualidade;
• Software Livre e Gratuito;
• Permite o uso de uma grande variedade de
SGBDs;
18. Usando o JPA
• Não esqueça de adicionar os JAR's ao
projeto;
• Mapeamento:
– Classes e interfaces estão no pacote:
• javax.persistence
– Uso anotações – @
• É importante conhecer as anotações mais
comuns e saber usá-las!
19. Anotações Comuns
• @Entity
• @Table
– Por padrão, a JPA assume que todos os campos
persistentes de uma entidade serão
armazenados em uma tabela com o mesmo
nome da entidade.
– @Table(name="FUN")
• @Column
– Por padrão, a JPA assume que o nome de cada
atributo corresponde ao mesmo nome na tabela
– @Column(name="FUN_ID")
• @Id
20. Anotações comuns
• @NamedQuery
– cria consulta nomeada;
– Associada com o @Entity:
@Entity
@NamedQuery(name = "ConsultaPorId", query =
"SELECT f FROM Funcionarios f WHERE f.id =
:id")
public class Funcionario implements Serializable
{
...
}
21. Anotações Comuns
• @GeneratedValue
– geração automática de identificadores;
• @Temporal
– para informações relacionadas ao tempo
(DATE, TIME e TIMESTAMP)
• @OneToOne
@OneToOne(optional=false)
@JoinColumn(name=“ADDRESS_ID”,
unique=true, nullable=false)
Query Address getAddress() {... }
23. Exercícios iniciais
(1)Crie um arquivo básico de configuração para um
banco de dados chamado dbIFPI cujo SGDB é
MySQL e o usuário de conexão seja ifpi com a
senha i@fpi;
(2)Diferencie JPA de Hibernate;
(3)Pesquise e descreva os frameworks Hibernate,
TopLink e OpenJPA;
(4)Dadas as anotações comuns nos slides anteriores,
pesquise outras anotações existentes e descreva-
as.