persistence.xml Criaremos agora JPAUtil que é um Singleton encarregado de fornecer um meio único e centralizado de obtermos um objeto do Tipo EntityManager. JPAUtil.java package revisao; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; public class JPAUtil { private static EntityManagerFactory emf = null; private static EntityManager em = null; public static EntityManagerFactory getEntityManagerFactory() { if (emf == null) emf = Persistence.createEntityManagerFactory("estacio"); return emf; } public static EntityManager getEntityManager() { if (em != null && em.isOpen()) return em; else { em = getEntityManagerFactory().createEntityManager(); return em; } } } Entidade Produto package revisao; import java.io.Serializable; import javax.persistence.*; @Entity public class Produto implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE) private long id; private String descricao; private double preco; //bi-directional many-to-one association to Categoria @ManyToOne @JoinColumn(name="CODIGO_CATEGORIA") private Categoria categoria; public Produto() { } public long getId() { return this.id; } public void setId(long id) { this.id = id; } public String getDescricao() { return this.descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public double getPreco() { return this.preco; } public void setPreco(double preco) { this.preco = preco; } public Categoria getCategoria() { return this.categoria; } public void setCategoria(Categoria categoria) { this.categoria = categoria; } } Entidade Categoria package revisao; import java.io.Serializable; import javax.persistence.*; @Entity public class Categoria implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.SEQUENCE) private long id; private String descricao; public Categoria() { } public long getId() { return this.id; } public void setId(long id) { this.id = id; } public String getDescricao() { return this.descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } }