Boa tarde meus caros amigos, estou aqui com uma dúvida que é o seguinte. Eu estou tentando puxar uma lista de dados do banco, porém estou obtendo o seguinte erro no console:
31/08/2009 11:40:56 com.sun.faces.application.ApplicationAssociate createAndMaybeStoreManagedBeans
SEVERE: JSF1001: Managedbean productMB could not be created.
31/08/2009 11:40:56 com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/pages/listProducts.xhtml]
javax.faces.FacesException: javax.faces.FacesException: Cant instantiate class: br.com.loja.ManagedBean.ProductMB.. No Persistence provider for EntityManager named conexao
	at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:541)
	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:103)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
	at javax.faces.component.UIData.getValue(UIData.java:582)
	at javax.faces.component.UIData.getDataModel(UIData.java:1063)
	at javax.faces.component.UIData.setRowIndex(UIData.java:417)
	at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:785)
	at javax.faces.component.UIData.encodeBegin(UIData.java:879)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:809)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.FacesException: Cant instantiate class: br.com.loja.ManagedBean.ProductMB.. No Persistence provider for EntityManager named conexao
	at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:282)
	at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:531)
	... 35 more
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named conexao
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:89)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
	at br.com.loja.util.JPAUtil.<init>(JPAUtil.java:19)
	at br.com.loja.util.JPAUtil.getInstance(JPAUtil.java:25)
	at br.com.loja.dao.ProductDAO.getAllProducts(ProductDAO.java:45)
	at br.com.loja.ManagedBean.ProductMB.<init>(ProductMB.java:14)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:277)
	... 36 more
31/08/2009 11:40:56 com.sun.faces.application.ApplicationAssociate createAndMaybeStoreManagedBeans
SEVERE: JSF1001: Managedbean productMB could not be created.
aqui está meu persistence.xml
<?xml version="1.0" encoding="UTF-8"?>  
    <persistence version="1.0"  
        xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">  
        <persistence-unit name="conexao" transaction-type="RESOURCE_LOCAL">  
            <provider>org.hibernate.ejb.HibernatePersistence</provider>  
            <mapping-file>META-INF/consultas.xml</mapping-file>  
            <class>br.com.entidades.People</class>
            <class>br.com.entidades.PeopleInfo</class> 
            <class>br.com.entidades.Address</class>
            <class>br.com.entidades.Group</class>
            
            <properties>  
               <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />  
               <property name="hibernate.connection.username" value="root" />  
               <property name="hibernate.connection.password" value="111111" />  
               <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/teste" />  
               <property name="hibernate.show_sql" value="true" /> 
                <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />  
           </properties>  
       </persistence-unit>  
    aqui está minha JPAUtil
package br.com.loja.util;
import java.io.Serializable;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
public class JPAUtil {
	private static JPAUtil me;
	private EntityManagerFactory emf;
	private JPAUtil() {
		emf = Persistence.createEntityManagerFactory("conexao");
}
	public static JPAUtil getInstance() {
		if (me == null) {
			me = new JPAUtil();
		}
		return me;
	}
	public EntityManager getEntityManager() {
		EntityManager toReturn = emf.createEntityManager();
		toReturn.getTransaction().begin();
		return toReturn;
	}
	@SuppressWarnings("unchecked")
	public <T> List<T> getList(Class<T> classToCast, String jpql,
			Object... parameters) {
		List toReturn = null;
		EntityManager em = getEntityManager();
		Query qr = em.createQuery(jpql);
		for (int i = 0; i < parameters.length; i++) {
			qr.setParameter(i + 1, parameters[i]);
		}
		toReturn = qr.getResultList();
		em.getTransaction().commit();
		em.close();
		return toReturn;
	}
	public <T> T getEntity(Class<T> entityClass, Serializable pk) {
		EntityManager em = getEntityManager();
		T toReturn = em.find(entityClass, pk);
		em.getTransaction().commit();
		em.close();
		return toReturn;
	}
}
aqui minha entidade product
package br.com.loja.entity;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
@Entity(name="product")
public class Product implements Serializable {
	
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name="id")
	private Integer id;
	@Column(name="\"name\"")
	private String name;
	@OneToMany(mappedBy="product",cascade=CascadeType.ALL)
	private List<Sell> sellOfProduct = new LinkedList<Sell>();
	
	public Product() {
	
	}
	
	
	public Product(Integer id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	public void addSell(Sell sell){
		this.addSell(sell);
		sell.setProduct(this);
	}
	
	
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getId() {
		return id;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setSellOfProduct(List<Sell> sellOfProduct) {
		this.sellOfProduct = sellOfProduct;
	}
	public List<Sell> getSellOfProduct() {
		return sellOfProduct;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Product other = (Product) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
}
aqui está o meu ProductDAO.
package br.com.loja.dao;
import java.util.List;
import javax.persistence.EntityManager;
import br.com.loja.entity.Product;
import br.com.loja.util.JPAUtil;
public class ProductDAO {
	public ProductDAO() {
	}
	public Integer addProduct(Product prod) {
		EntityManager em = JPAUtil.getInstance().getEntityManager();
		em.persist(prod);
		em.getTransaction().commit();
		em.close();
		return prod.getId();
	}
	public void removeProduct(Product prod) {
		EntityManager em = JPAUtil.getInstance().getEntityManager();
		prod = em.getReference(Product.class, prod.getId());
		em.remove(prod);
		em.getTransaction().commit();
		em.close();
	}
	public void updateProduct(Product prod) {
		EntityManager em = JPAUtil.getInstance().getEntityManager();
		em.merge(prod);
		em.getTransaction().commit();
		em.close();
	}
	public Product getProduct(int idProduct) {
		return JPAUtil.getInstance().getEntity(Product.class, idProduct);
	}
	public List<Product> getAllProducts() {
		return JPAUtil.getInstance().getList(Product.class,
				"select prod from product prod");
	}
}
e aqui esta meu ManagedBean
package br.com.loja.ManagedBean;
import java.util.List;
import br.com.loja.dao.ProductDAO;
import br.com.loja.entity.Product;
public class ProductMB  {
	private List<Product> products;
	private final ProductDAO dao = new ProductDAO();
	
	public ProductMB() {
		products = dao.getAllProducts();
	}
	public void setProducts(List<Product> products) {
		this.products = products;
	}
	public List<Product> getProducts() {
		if (products == null){
			products = dao.getAllProducts();
		}
		return products;
	}
	
	
}
Alguém poderia me dar uma luz??