关闭

教学管理系统-会话Bean

1147人阅读 评论(0) 收藏 举报

CollegeService是远程接口。由于大多数远程接口有类似的增删改查的操作,因此定义一个父接口IService。为了减少不必要的类型转换,在定义IService时使用泛型。当CollegeService从ISerive派生时,绑定定义College。

CollegeServiceBean是一个无状态会话Bean,用@Stateless标识。它实现了CollegeService接口,并从AbstractServieBean派生。AbstractBean提供了增删改查操作的缺省实现。

图中IService_College和AbstractServiceBean_College表示对泛型的绑定,它们没有代码,在子类型派生时体现。

package org.bnuitse.tms.service.security;
import java.util.List;
import org.bnuitse.tms.model.security.College;
import org.bnuitse.tms.service.IService;
public interface CollegeService extends IService<College>{
 String jndiName = "tms/security/CollegeService";
 College find(String name);
}
 
package org.bnuitse.tms.service.security.impl;
import java.util.List;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import org.bnuitse.tms.model.security.College;
import org.bnuitse.tms.service.AbstractServiceBean;
import org.bnuitse.tms.service.security.CollegeService;
import org.jboss.annotation.ejb.RemoteBinding;
@Stateless
@Remote(CollegeService.class)
@RemoteBinding(jndiBinding = CollegeService.jndiName)
public class CollegeServiceBean extends AbstractServiceBean<College> implements CollegeService {
 public College find(String name) {
  return (College) em.createQuery("from College o where o.name = :name").setParameter("name", name).getSingleResult();
 }
}

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:138138次
    • 积分:2087
    • 等级:
    • 排名:第18321名
    • 原创:62篇
    • 转载:0篇
    • 译文:4篇
    • 评论:47条
    最新评论