Bom Dia amigos do guj, então estou com um problema ao instanciar uma classe de controle"ClasseDao" no netbeans 7.0.1
eu utilizava a versão 6.8 e não encontrava problemas, houver mudança na versão 7.0.1 no qual não entendo se os colegas poderem me ajugar agradeço desde agora.
//classe de Controle "ClasseDao"
package dao;
import bean.Fornecedor;
import dao.exceptions.NonexistentEntityException;
import java.io.Serializable;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;
import javax.persistence.EntityNotFoundException;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import bean.Produto;
import java.util.ArrayList;
import java.util.List;
public class FornecedorJpaController implements Serializable {
public FornecedorJpaController(EntityManagerFactory emf) {
this.emf = emf;
}
private EntityManagerFactory emf = null;
public EntityManager getEntityManager() {
return emf.createEntityManager();
}
public void create(Fornecedor fornecedor) {
if (fornecedor.getProdutoList() == null) {
fornecedor.setProdutoList(new ArrayList<Produto>());
}
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
List<Produto> attachedProdutoList = new ArrayList<Produto>();
for (Produto produtoListProdutoToAttach : fornecedor.getProdutoList()) {
produtoListProdutoToAttach = em.getReference(produtoListProdutoToAttach.getClass(), produtoListProdutoToAttach.getIdproduto());
attachedProdutoList.add(produtoListProdutoToAttach);
}
fornecedor.setProdutoList(attachedProdutoList);
em.persist(fornecedor);
for (Produto produtoListProduto : fornecedor.getProdutoList()) {
Fornecedor oldIdfornecedorOfProdutoListProduto = produtoListProduto.getIdfornecedor();
produtoListProduto.setIdfornecedor(fornecedor);
produtoListProduto = em.merge(produtoListProduto);
if (oldIdfornecedorOfProdutoListProduto != null) {
oldIdfornecedorOfProdutoListProduto.getProdutoList().remove(produtoListProduto);
oldIdfornecedorOfProdutoListProduto = em.merge(oldIdfornecedorOfProdutoListProduto);
}
}
em.getTransaction().commit();
} finally {
if (em != null) {
em.close();
}
}
}
public void edit(Fornecedor fornecedor) throws NonexistentEntityException, Exception {
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
Fornecedor persistentFornecedor = em.find(Fornecedor.class, fornecedor.getId());
List<Produto> produtoListOld = persistentFornecedor.getProdutoList();
List<Produto> produtoListNew = fornecedor.getProdutoList();
List<Produto> attachedProdutoListNew = new ArrayList<Produto>();
for (Produto produtoListNewProdutoToAttach : produtoListNew) {
produtoListNewProdutoToAttach = em.getReference(produtoListNewProdutoToAttach.getClass(), produtoListNewProdutoToAttach.getIdproduto());
attachedProdutoListNew.add(produtoListNewProdutoToAttach);
}
produtoListNew = attachedProdutoListNew;
fornecedor.setProdutoList(produtoListNew);
fornecedor = em.merge(fornecedor);
for (Produto produtoListOldProduto : produtoListOld) {
if (!produtoListNew.contains(produtoListOldProduto)) {
produtoListOldProduto.setIdfornecedor(null);
produtoListOldProduto = em.merge(produtoListOldProduto);
}
}
for (Produto produtoListNewProduto : produtoListNew) {
if (!produtoListOld.contains(produtoListNewProduto)) {
Fornecedor oldIdfornecedorOfProdutoListNewProduto = produtoListNewProduto.getIdfornecedor();
produtoListNewProduto.setIdfornecedor(fornecedor);
produtoListNewProduto = em.merge(produtoListNewProduto);
if (oldIdfornecedorOfProdutoListNewProduto != null && !oldIdfornecedorOfProdutoListNewProduto.equals(fornecedor)) {
oldIdfornecedorOfProdutoListNewProduto.getProdutoList().remove(produtoListNewProduto);
oldIdfornecedorOfProdutoListNewProduto = em.merge(oldIdfornecedorOfProdutoListNewProduto);
}
}
}
em.getTransaction().commit();
} catch (Exception ex) {
String msg = ex.getLocalizedMessage();
if (msg == null || msg.length() == 0) {
Integer id = fornecedor.getId();
if (findFornecedor(id) == null) {
throw new NonexistentEntityException("The fornecedor with id " + id + " no longer exists.");
}
}
throw ex;
} finally {
if (em != null) {
em.close();
}
}
}
public void destroy(Integer id) throws NonexistentEntityException {
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
Fornecedor fornecedor;
try {
fornecedor = em.getReference(Fornecedor.class, id);
fornecedor.getId();
} catch (EntityNotFoundException enfe) {
throw new NonexistentEntityException("The fornecedor with id " + id + " no longer exists.", enfe);
}
List<Produto> produtoList = fornecedor.getProdutoList();
for (Produto produtoListProduto : produtoList) {
produtoListProduto.setIdfornecedor(null);
produtoListProduto = em.merge(produtoListProduto);
}
em.remove(fornecedor);
em.getTransaction().commit();
} finally {
if (em != null) {
em.close();
}
}
}
public List<Fornecedor> findFornecedorEntities() {
return findFornecedorEntities(true, -1, -1);
}
public List<Fornecedor> findFornecedorEntities(int maxResults, int firstResult) {
return findFornecedorEntities(false, maxResults, firstResult);
}
private List<Fornecedor> findFornecedorEntities(boolean all, int maxResults, int firstResult) {
EntityManager em = getEntityManager();
try {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
cq.select(cq.from(Fornecedor.class));
Query q = em.createQuery(cq);
if (!all) {
q.setMaxResults(maxResults);
q.setFirstResult(firstResult);
}
return q.getResultList();
} finally {
em.close();
}
}
public Fornecedor findFornecedor(Integer id) {
EntityManager em = getEntityManager();
try {
return em.find(Fornecedor.class, id);
} finally {
em.close();
}
}
public int getFornecedorCount() {
EntityManager em = getEntityManager();
try {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
Root<Fornecedor> rt = cq.from(Fornecedor.class);
cq.select(em.getCriteriaBuilder().count(rt));
Query q = em.createQuery(cq);
return ((Long) q.getSingleResult()).intValue();
} finally {
em.close();
}
}
}
package view;
import bean.Fornecedor;
import dao.FornecedorJpaController;
import javax.persistence.PersistenceUtil;
public class NewMain {
public static void main(String[] args) {
//instanciado o objeto
Fornecedor f = new Fornecedor();
//instancia da Classe JPA Controller "ClasseDao"
FornecedorJpaController dao = new FornecedorJpaController(Persistence.createEntityManagerFactory("HibernateUP"));
f.setNome("Godo");
dao.create(f);
}
}
//esse e o erro q o netbeans manda
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named HibernateUP
at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
at javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
at view.NewMain.main(NewMain.java:15)
Java Result: 1