















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Persistência fácil de objetos com Hibernate
Tipologia: Notas de estudo
1 / 23
Esta página não é visível na pré-visualização
Não perca as partes importantes!
● (^) Persistência de Objetos
●
●
●
●
●
●
●
●
●
● (^) Qualquer objeto persistido utilizando o Hibernate, precisa de um arquivo de mapeamento para o modelo relacional. ● (^) Todas as classes do pacote java.lang são equivalentes aos tipos de dados primitivos do banco de dados. ● (^) Todo objeto persistido pelo hibernate, precisa de uma propriedade de identificação, como a chave primaria do banco de dados.
● (^) um ID ou chave primaria, não tem relação nenhuma com a Orientação a objetos, mas é uma imposição do modelo relacional, onde os dados serão armazenados. ● (^) por este motivo, todo o tipo de dados persistido como uma entidade Objeto/Relacional, precisa prover esta identificação para possibilitar o mapeamento para o banco de dados ●
● (^) Além dos tipos de dados incluídos de fábrica, as vezes precisamos de um tipo composto, ou complexo, estes podem vir em quatro sabores:
● (^) Como uma boa engine de mapeamento O/R o hibernate trás suporte para herança e polimorfismo para consultas e persistência dos dados. ● (^) para que uma classe suporte polimorfismo no seu mapeamento deve ser utilizado o elemento:
●
● (^) O Collection framework do java, não tem uma interface Bag, mas a idéia desta coleção é bem parecida com um List. ● (^) O Bag é uma lista que pode conter elementos repetidos, mas diferente de uma List ela não mantem a ordem dos itens, tendo a vantagem de poder ser ordenada a vontade na hora de uma consulta. ● (^)
● (^) Muitas vezes, é útil salvar uma coleção de objetos na forma de um java.util.Map, desta forma podendo recuperar o valor destes objetos pelo valor da chave associada a ele. ● (^) Existem implementações que permitem uma chave duplicada, mas o hibernate só suporta chaves únicas em um Map. ● (^)
● (^) Para poder recuperar os dados utilizando o Hibernate, temos disponível a HQL. ● (^) Esta linguagem sendo um subset da OQL padronizada pela ODMG, misturada com recursos úteis do SQL, misturando o melhor dos dois mundos. ● (^) Na última versão do hibernate, é possível executar uma consulta SQL diretamente. ● (^) O Hibernate também trás uma interface para consultar orientada a objetos, chamada de Criteria API, esta mesmo sendo um casamento com o Hibernate, trás diversas vantagens e facilidades para o desenvolvimento.
● (^) Contrariando as regras da orientação a objetos, mas seguindo as boas práticas de desenvolvimento, mesmo utilizando o Hibernate como solução de mapeamento O/R, é recomendável a criação de um Layer de persistência em sua aplicação. ● (^) Esta camada também conhecida como Objetos de Acesso a Dados, ou DAOs, além de encapsular a utilização do Hibernate, permite também, a utilização mesclada do hibernate com JDBC puro, ou então, facilita a troca da solução de persistência, quando esta for necessária, como por exemplo, do Hibernate para o Prevayler ou para Entity Beans, ou até mesmo para apenas JDBC. ● (^) Estes objetos normalmente implementam as operações conhecidas como CRUD (Create, Retrieve, Update and Delete) normalmente oferecendo mais de um método de retrieve, ou consultas por exemplo (QBE), isto é, a passagem de um ou dois objetos do tipo a ser consultado, com as propriedades a serem utilizadas na consulta já preenchidas.