GWT 2.2 + JPA проблема - PullRequest
       2

GWT 2.2 + JPA проблема

1 голос
/ 29 марта 2011

Я работаю с GWT 2.2, JPA, Java EE 6 Web, glassfish v3. Моя проблема в том, что я получаю следующую ошибку, если использую свою сущность в вызове RPC: «Нет исходного кода для типа entity.User; вы забыли унаследовать требуемый модуль?»

Сначала я подумал, что проблема была в аннотации, но потом я прочитал, что из версии GWT 2.0 должна работать, если "класс аннотирован JPA javax.persistence.Entity annotation".

Так в чем может быть проблема?

Ммм, я думаю, что я просто пишу здесь все. У меня есть проект GWT со следующими пакетами:

org.ecommunity
org.ecommunity.client (и org.ecommunity.client.view)
org.ecommunity.server -> а вот только сервисный импл. :

public class ECommunityServiceImpl extends RemoteServiceServlet implements ECommunityService  {
    @EJB
    ECommunitySB bean;

    @Override
    public User loginService(String username) {
        return bean.getUserByUsername(username);
    }
}

Мой Main.gwt.xml выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
    <inherits name="com.google.gwt.user.User"/>
    <inherits name='com.google.gwt.user.theme.standard.Standard'/>
    <entry-point class="org.ecommunity.client.MainEntryPoint"/>
    <source path="client"/>
</module>

И у меня есть модуль EJB со следующими пакетами: entity (здесь мой класс сущности User) и sessionbean (с моим сеансом)

и если я добавлю <source path='server' />, проблема будет такой же с этим новым: «Импорт javax.ejb не может быть решен. EJB не может быть разрешен для типа.»

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Вы должны удалить свой модуль EJB и поместить сессионный объект и класс сущностей в проект gwt.Так что теперь у вас есть только 1 проект.И вам нужно добавить библиотеку EclipseLink (JPA 2.0) в путь к классам (из-за аннотаций).

0 голосов
/ 29 марта 2011

Я думаю, что вы можете пропустить исходный путь в вашем {проекте} .gwt.xml

<source path='yourpath' />

Я сделаю предположение, что ваш {проект} .gwt.xml находится в

 org.ecommunity

Вероятно, есть пакет

 org.ecommunity.client

Уже с некоторыми элементами GWT, которые включены в <source path='client' />, но ваши классы сущностей находятся в: org.ecommunity.server.entity Так что вы быдолжны поставить в другой источник для <source path='server' />.Кстати, может быть, лучше переместить сущности из-под сервера в, например, org.ecommunity.entity и добавить <source path='entity' />, потому что я предполагаю, что под сервером существует много кода, который не имеет отношения к клиентскому коду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...