GithubHelp home page GithubHelp logo

hibernate-jpa's Introduction

hibernate-jpa

Persistência com JPA - Introdução ao Hibernate

Hibernate: biblioteca criada como alternativa ao JDBC/EJB 2 JPA: Especificação para ORM (Object Relational Mapping)
em Java e tem Hibernate como uma de suas implementações.

Persistence.xml

Este arquivo define uma ou mais persistência (Banco de dados) onde você configura coisas como:

  • nome de cada unidade de persistência
  • Classes de persistência gerenciadas fazem parte de uma unidade persistência
  • como criar e validar o esquema de banco de dados, etc

Atributos que podemos mapear sem a necessidade de configurações adicionais via anotações JPA:

  • Tipos primitivos
  • Atributos do tipo String
  • Algumas classes como: LocalDate e BigDecimal

Atributos como enun precisam da anotação @Enumerated(EnumType.STRING) e a forma como deseja salvar (ordem ou nome)

Mapeando relacionamentos

Anotações das cardinalidades:

  • @ManyToOne - muitos para um
  • @ManyToMany - muitos para muitos
  • @OneToMany - um para muitos
  • @OneToOne - um para um

É obrigatório adicionar alguma anotação de cardinalidade em todos os atributos que representam relacionamentos

Estado no insert da entidade

  • Transient: quando o objeto da entidade é instanciado mas não está sendo gerenciado pela JPA
  • Managed: é quando o objeto da entidade passa a ser gerenciado pela JPA, quando é chamado o método persist()
  • BD: é quando é feito o commit() ou flush(), o objeto vai ser salvo no banco de dados
  • Detached: é quando a conexão do banco de dados é encerrada com o método close() ou clear()
  • Para voltar do estado Detached para o estado managed usamos o método merge(). Esse método devolve uma nova referência que que está no estado Managed.

Estado no update da entidade

  • Update é: Pegar uma entidade que está no estado Managed e alterar os dados dessa entidade e fazer commit
  • Trazer do BD para o estado Managed usamos o método find() ou createQuery()
  • Esses são métodos de fazer consulta na JPA

Estado do delete da entidade

  • Para excluir: quando a entidade está no estado Managed, podemos chamar o metodo remove() então passa para o estado removed

hibernate-jpa's People

Contributors

fraanpsilva avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.