来自数据库实体bean和会话bean的netbeans 7.0应用程序客户端

来自数据库实体bean和会话bean的netbeans 7.0应用程序客户端,netbeans,jakarta-ee,ejb-3.0,Netbeans,Jakarta Ee,Ejb 3.0,在netbeans 7.0之前的版本中,可以编写以下内容: @Stateless(mappedName="Soelprotocol") public class ProtocolFacade implements ProtocolFacadeLocal, ProtocolFacadeRemote { @PersistenceContext(unitName = "SOEL-ejbPU") private EntityManager em; public void cre

在netbeans 7.0之前的版本中,可以编写以下内容:

@Stateless(mappedName="Soelprotocol")
public class ProtocolFacade implements ProtocolFacadeLocal, ProtocolFacadeRemote {
    @PersistenceContext(unitName = "SOEL-ejbPU")
    private EntityManager em;

    public void create(Protocol protocol) {
        em.persist(protocol);
    }

    public void edit(Protocol protocol) {
        em.merge(protocol);
    }

    public void remove(Protocol protocol) {
        em.remove(em.merge(protocol));
    }

    public Protocol find(Object id) {
        return em.find(Protocol.class, id);
    }

    public List<Protocol> findAll() {
        CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
        cq.select(cq.from(Protocol.class));
        return em.createQuery(cq).getResultList();
    }

    public List<Protocol> findRange(int[] range) {
        CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
        cq.select(cq.from(Protocol.class));
        Query q = em.createQuery(cq);
        q.setMaxResults(range[1] - range[0]);
        q.setFirstResult(range[0]);
        return q.getResultList();
    }

    public int count() {
        CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
        Root<Protocol> rt = cq.from(Protocol.class);
        cq.select(em.getCriteriaBuilder().count(rt));
        Query q = em.createQuery(cq);
        return ((Long) q.getSingleResult()).intValue();
    }

}
无状态(mappedName=“Soelprotocol”) 公共类ProtocolFacade实现ProtocolFacadeLocal、ProtocolFacadeMode{ @PersistenceContext(unitName=“SOEL ejbPU”) 私人实体管理者; 公共无效创建(协议){ em.persist(协议); } 公共无效编辑(协议){ em.merge(协议); } 公共无效删除(协议){ em.remove(em.merge(protocol)); } 公共协议查找(对象id){ 返回em.find(Protocol.class,id); } 公共列表findAll(){ CriteriaQuery cq=em.getCriteriaBuilder().createQuery(); cq.select(cq.from(Protocol.class)); 返回em.createQuery(cq.getResultList(); } 公共列表findRange(int[]范围){ CriteriaQuery cq=em.getCriteriaBuilder().createQuery(); cq.select(cq.from(Protocol.class)); 查询q=em.createQuery(cq); q、 setMaxResults(范围[1]-范围[0]); q、 setFirstResult(范围[0]); 返回q.getResultList(); } 公共整数计数(){ CriteriaQuery cq=em.getCriteriaBuilder().createQuery(); Root rt=cq.from(Protocol.class); 选择(em.getCriteriaBuilder().count(rt)); 查询q=em.createQuery(cq); 返回((长)q.getSingleResult()).intValue(); } } 当我尝试为数据库实体bean创建远程会话bean时,复选框标签显示“项目中的远程”,并显示一条消息:

没有合适的项目可用于存储远程接口。需要一个开放的基于Ant的Java类库项目

使用netbans 7.0,如何创建使用为数据库实体bean创建的远程会话bean的应用程序客户端

某个地方是一个完整的例子吗

Vivien

将应用程序客户端创建为单独的Java应用程序(或类库)项目。如果在EJB模块项目中创建远程会话bean时此项目是打开的,并且选中“创建远程接口”选项,Netbeans将为远程接口建议此项目。 然后将远程接口和EJB客户机容器库添加到客户机项目中

下面是一个完整的示例:


祝你好运

秘密在于首先在java类库项目上为数据库创建实体bean。从实体bean创建会话bean之后