Отсутствует зависимость для открытых сущностей метода в спокойных веб-службах Netbeans - PullRequest
1 голос
/ 20 декабря 2011

Я развертываю успокоительные веб-службы с использованием библиотек Netbeans EE6 и jersey с помощью учебника http://netbeans.org/kb/docs/websvc/rest.html.

Когда я создаю успокоительные веб-сервисы из сущностей, которые содержат составные первичные ключи в базе данных, проект выдает ошибку при попытке протестировать веб-сервисы:

SEVERE: отсутствует зависимость для метода public entity.RMSchedule service.RMScheduleFacadeREST.find (entity.RMSchedulePK) в параметре с индексом 0 SEVERE: метод, публичные лица.

Ошибка из-за составных первичных ключей или есть шаг, который я должен включить? Большое спасибо заранее.

1 Ответ

0 голосов
/ 11 мая 2012

Я думаю, что эта проблема связана с ошибкой Netbeans:

https://netbeans.org/bugzilla/show_bug.cgi?id=208375

При создании класса сущностей, который имеет составные первичные ключи, создаются два файла сущностей.(ex CustomerEntity.jave, CustomerEntityPK.java)

Затем, если вы решите создать сервлет из класса сущностей, сервлет поставляется с автоматически сгенерированным кодом, например следующим:

    @DELETE
    @Path("{id}")
    public void remove(@PathParam("id") CustomerEntityPK id) { //error
        super.remove(super.find(id));
    }

    @GET
    @Path("{id}")
    @Produces({"application/xml", "application/json"})
    public CustomerEntity find(@PathParam("id") CustomerEntityPK id) { //error
        return super.find(id);
    }

Проблема заключается в том, что аргументМетоды сервлета передаются в CustomerEntityPK, который имеет составной первичный ключ.

Если вы измените тип аргумента на что-то вроде String, то ошибка исчезнет в моем случае.

    @DELETE
    @Path("{id}")
    public void remove(@PathParam("id") String id) { //type set to String now
        super.remove(super.find(id));
    }

Но в моем проекте мне не понадобился такой автоматически сгенерированный код, поэтому я просто решил создать класс сервлета вручную и без проблем.

Надеюсь, это поможет.

...