在Java EE 6中,创建EJB非常简单,任何一个POJO类,加上@Stateless、@Stateful或者
@Singleton标注,就是一个EJB。
并且,EJB也不再需要单独的package,可以直接当成一个普通的POJO类,放到WEB-INF/classes中,然后打成一个WAR包发布。
1. 创建EJB
注意,创建EJB时,接口是可选项,不是必选项。
2. 增加代码
@PersistenceContext
EntityManager em;
private List cust;
public List getCustomers() {
return (List) em.createNamedQuery("Customer.findAll").getResultList();
}
public void addCustomer(Integer customerId,
String name,
Address address,
String phone,
String fax,
String email,
Integer creditLimit,
DiscountCode discountCode) {
Customer c = new Customer(customerId);
c.setName(name);
c.setAddress(address);
c.setPhone(phone);
c.setFax(fax);
c.setCreditLimit(creditLimit);
c.setDiscountCode(discountCode);
em.persist(c);
}
3. 在TestServlet中使用EJB
@EJB CustomerSessionBean bean;
List result = bean.getCustomers();
@Singleton标注,就是一个EJB。
并且,EJB也不再需要单独的package,可以直接当成一个普通的POJO类,放到WEB-INF/classes中,然后打成一个WAR包发布。
1. 创建EJB
注意,创建EJB时,接口是可选项,不是必选项。
2. 增加代码
@PersistenceContext
EntityManager em;
private List
public List
return (List
}
public void addCustomer(Integer customerId,
String name,
Address address,
String phone,
String fax,
String email,
Integer creditLimit,
DiscountCode discountCode) {
Customer c = new Customer(customerId);
c.setName(name);
c.setAddress(address);
c.setPhone(phone);
c.setFax(fax);
c.setCreditLimit(creditLimit);
c.setDiscountCode(discountCode);
em.persist(c);
}
3. 在TestServlet中使用EJB
@EJB CustomerSessionBean bean;
List
没有评论:
发表评论