jpa resumo

15

Upload: kelve-aragao

Post on 06-Sep-2015

215 views

Category:

Documents


1 download

DESCRIPTION

Resumo sobre JPA

TRANSCRIPT

Slide 1

Especificao JDBCConsultas definidas com a linguagem SQLComplexidade aumentada no trabalho do desenvolvedorConflito de paradigmas (OO vs MR)

Ferramenta de ORMConsultas independentes da linguagem SQLNecessidade de mapeamento entre OO e MRO Hibernate a ferramenta mais conhecida.

Especificao JPAPadroniza as ferramentas ORMDiminui a complexidade do desenvolvimento apenas uma especificao, no implementa nenhum cdigo.Exemplo de implementaes: Hibernate, EclipseLink e OpenJPA.

BundleJars do hibernate e todas a suas dependnciasSite oficial: http://www.hibernate.org/Tem tudo em um jar, se for preciso mais algum, tem na pasta required

ConfiguraoCriar um arquivo chamado persistence.xml na pasta META-INF

Mapeamento@Entity -> A classe mapeada para tabela@Id -> Indica que o atributo a chave@GeneratedValue -> Indica que o atributo gerado automaticamenteGerao TabelasBaseada em anotaes colocadas nas classes e as informaes presentes no persistence.xmlA gerao se dar pelo mtodo da classe Persistence:createTntityManagerFactory(String entityUnit)Onde entityUnit a unidade definida em persistence.xmlPoltica de criao de tabelasHIBERNATE. HBM2 DDL.AUTO = create-dropCria a tabela toda vez que for executadoHIBERNATE. HBM2 DDL.AUTO = update- atualiza a tabela quando ouver alterao nas classes de entidadeHIBERNATE. HBM2 DDL.AUTO = createCria se no existir

Manipulando EnitdadesEntityManagerFactory = Persistence.createEntityManagerFactory("livraria");Persistindo Editora novaEditora = new Editora();novaEditora.setNome(entrada.nextLine());novaEditora.setEmail(entrada.nextLine());manager.persist(novaEditora);BuscandoEditora editora1 = manager . find ( Editora . class , 1 L ) ;2 Editora editora2 = manager . getReference ( Editora . class , 2 L ) RemovendoEditora editora = manager . find ( Editora . class , 1 L ) ;2 manager . remove ( editora ) ;Cdigo Java 1.9: Marcando um objetAtualizandoPara alterar os dados de um registro correspondente a um objeto, podemos utilizar os prpriosmtodos setters desse objeto.1 Editora editora = manager . find ( Editora . class , 1 L ) ;2 editora . setNome ( " K19 - Livros e Publicaes " ) ;ListandoQuery query = manager . createQuery ( " SELECT e FROM Editora e " ) ;2 List < Editora > editoras = query . getResultList ()