Клиент приложений NetBeans 7.0 из компонентов базы данных и компонентов сеанса - PullRequest
0 голосов
/ 06 мая 2011

В версиях 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();
    }

}

Когда я пытаюсь создать удаленный сессионный компонент для компонентов базы данных, флажок флажка говорит: «Удаленный в проекте» с сообщением:

Нет подходящего проекта, в котором можно было бы сохранить интерфейс Remote. Требуется открытый проект библиотеки классов Java на основе Ant.

С netbans 7.0, как создать клиент приложения, который использует удаленные сеансовые бины, созданные для бинов сущностей базы данных?

Где-нибудь полный пример?

1 Ответ

1 голос
/ 20 июня 2011

Vivien,

Создайте клиент приложения как отдельный проект приложения Java (или библиотеки классов).Если этот проект открыт при создании удаленного сессионного компонента в проекте EJB-модуля и при выборе опции «создать удаленный интерфейс», Netbeans предложит этот проект для удаленного интерфейса.Затем он добавит в клиентский проект удаленный интерфейс и клиентские контейнерные библиотеки EJB.

Вот полный пример: http://netbeans.org/kb/docs/javaee/entappclient.html

удачи!

...