NullPointer Exception !!!
ericmacau Feb 27, 2006 4:17 AMHello,
I try to use EJB3 in portlet, but it just raised NullPointerException !
Could you please to teach me how to solve it ?
@Stateless @Local(ProductLocal.class) public class ProductBean implements ProductLocal { @PersistenceContext // (unitName="cal") protected EntityManager em; /** * */ public ProductBean() { super(); // TODO Auto-generated constructor stub } /** * (non-Javadoc) * * @see mo.reales.ejb.session.ProductLocal#addProduct(java.lang.String, * java.lang.String, java.lang.String, float, int, int, * java.lang.String, java.lang.String) */ public void addProduct(String buildingName, String floor, String flat, float area, int totalRoom, int totalSittingRoom, String direction, String description) { Product product = new Product(); product.setBuildingName(buildingName); product.setFlat(floor); product.setFlat(flat); product.setArea(area); product.setTotalRoom(totalRoom); product.setTotalSittingRoom(totalSittingRoom); product.setDirection(direction); product.setDescription(description); em.persist(product); } /** * (non-Javadoc) * @see mo.reales.ejb.session.ProductLocal#getProducts() */ public Collection<Product> getProducts() { return em.createQuery("from Product p").getResultList(); } }
public interface ProductIF { /** * Add new product * * @param buildingName * @param floor * @param flat * @param area * @param totalRoom * @param totalSittingRoom * @param direction * @param description */ public void addProduct(String buildingName, String floor, String flat, float area, int totalRoom, int totalSittingRoom, String direction, String description); /** * get all the products * * @return */ public Collection<Product> getProducts(); }
public interface ProductLocal extends ProductIF { }
public class ProductDAO implements ProductIF { @EJB protected ProductLocal productLocal; /** * */ public ProductDAO() { super(); } /* * (non-Javadoc) * * @see mo.reales.ejb.session.ProductIF#addProduct(java.lang.String, * java.lang.String, java.lang.String, float, int, int, * java.lang.String, java.lang.String) */ public void addProduct(String buildingName, String floor, String flat, float area, int totalRoom, int totalSittingRoom, String direction, String description) { productLocal.addProduct(buildingName, floor, flat, area, totalRoom, totalSittingRoom, direction, description); } /* * (non-Javadoc) * * @see mo.reales.ejb.session.ProductIF#getProducts() */ public Collection<Product> getProducts() { return productLocal.getProducts(); } }