JPA Mini Livro – Primeiros passos e conceitos detalhados

Olá, tudo bem?

Vamos ver hoje sobre JPA: o que é JPA, para que serve o persistence.xml, criar corretamente uma entidade, como realizar desde mapeamentos simples até os mapeamentos complexos de chaves primárias, criar relacionamentos entre as entidades, modos para persistência automática e outros.

O que iremos ver hoje:

  • Página 02: Quais os motivos que levaram à criação do JPA?
  • Página 03: O que é o JPA? O que são as implementações do JPA?
  • Página 04: Para que serve o persistence.xml? E suas configurações?
  • Página 05: Definições de uma “Entity”. O que são anotações Lógicas e Físicas?
  • Página 06: Gerando Id: Definição, Id por Identity ou Sequence
  • Página 07: Gerando Id: TableGenerator e Auto
  • Página 08: Utilizando Chave Composta Simples
  • Página 09: Utilizando Chave Composta Complexa
  • Página 10: Modos para obter um EntityManager
  • Página 11: Mapeando duas ou mais tabelas em uma entidade
  • Página 12: Mapeando Heranças – MappedSuperclass
  • Página 13: Mapeando Heranças – Single Table
  • Página 14: Mapeando Heranças – Joined
  • Página 15: Mapeando Heranças – Table Per Concrete Class
  • Página 16: Prós e Contras dos mapeamentos das heranças
  • Página 17: Embedded Objects
  • Página 18: ElementCollection – Como mapear uma lista de valores em uma classe
  • Página 19: OneToOne (Um para Um) Unidirecional e Bidirecional
  • Página 20: OneToMany (um para muitos) e ManyToOne (muitos para um) Unidirecional e Bidirecional
  • Página 21: ManyToMany (muitos para muitos) Unidirecional e Bidirecional
  • Página 22: ManyToMany com campos adicionais
  • Página 23: Como funciona o Cascade? Para que serve o OrphanRemoval? Como tratar a org.hibernate.TransientObjectException
  • Página 24: Como excluir corretamente uma entidade com relacionamento. Capturar entidades relacionadas no momento da exclusão de um registro no banco de dados.
  • Página 25: Criando um EntityManagerFactory por aplicação
  • Página 26: Entendendo o Lazy/Eager Load
  • Página 27: Tratando o erro: “cannot simultaneously fetch multiple bags”

Apenas uma observação: eu não irei criar o PDF desse post. Pra produzir o material já levo horas na formatação de código, produção de imagens, ajustes do post no blog e sem falar que preciso traduzir para o inglês. Desculpe, mas não existe a possibilidade, por agora, da criação de um arquivo PDF com o conteúdo deste post.

Dois leitores gente boa criaram arquivos para quem quiser fazer o download do post. Estão nos formatos pdf, doc e odt. É possível encontrar os arquivos na última página.

JPA Mini Book – First Steps and detailed concepts

Hello, how are you?

Today we will see about JPA: what is the persistence.xml file used for, how to create an entity, mapping easy and complex ids, creating relationships between the entities, automatically entity persistence and more.

Today we will see:

  • Page 02: Reasons that led to the creation of JPA
  • Page 03: What is JPA? What is a JPA Implementation?
  • Page 04: What is the persistence.xml file used for? And its configurations?
  • Page 05: Entity definitions. What are the Logic and Physical annotations?
  • Page 06: Id Generation: Definition, using Identity or Sequence
  • Page 07: Id Generation: TableGenerator and Auto
  • Page 08: Simple Composite Key
  • Page 09: Complex Composite Key
  • Page 10: How to get an EntityManager
  • Page 11: Mapping two or more tables in one entity
  • Page 12: Mapping Hierarchy: MappedSuperclass
  • Page 13: Mapping Hierarchy: Single Table
  • Page 14: Mapping Hierarchy: Joined
  • Page 15: Mapping Hierarchy: Table per Concrete Class
  • Page 16: Pros/Cons of each hierarchy mapping approach
  • Page 17: Embedded Objects
  • Page 18: ElementCollection – how to map a list of values into a class
  • Page 19: OneToOne unidirectional and bidirectional
  • Page 20: OneToMany/ManyToOne unidirectional and bidirectional
  • Page 21: ManyToMany unidirectional and bidirectional
  • Page 22: ManyToMany with extra fields
  • Page 23: How the Cascade functionality works? How should a developer use the OrphanRemoval? Handling the org.hibernate.TransientObjectException
  • Page 24: How to delete an entity with relationships. How to know which relationships are raising the exception
  • Page 25: Creating one EntityManagerFactory by application
  • Page 26: Understanding how the Lazy/Eager option works
  • Page 27: Handling the “cannot simultaneously fetch multiple bags” error

Just one more observation: I will not create a PDF file of this post. Just to create this material I already take several hours of code formatting, images production, translate all text to the English language and texts adjusts in this blog page. I am sorry, but there is no way to create a PDF file, maybe sometime later but I will not promise.