JPA EntityManager больше не находит сущности, даже когда возвращается к коду, который работал - PullRequest
0 голосов
/ 03 мая 2018

Я создаю сервер с Glassfish, Jersey и базой данных MySQL

Мой EntityManager раньше работал, но теперь не

Вот пример простого метода, который раньше работал, но теперь не

@GET
@Path("movie/{id}")
@JSONP
@Produces({"application/javascript", MediaType.APPLICATION_JSON})
public Movie getMovie(@PathParam("id") int id) {
    EntityManager em = (EntityManager) context.getAttribute("em");
    Movie requestedMovie = em.find(Movie.class, id);
    return requestedMovie;
}

Теперь возвращает java.lang.IllegalArgumentException: Unknown Entity bean class: class data.entry.Movie, please verify that this class has been marked with the @Entity annotation.

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

Кроме того, код все еще работает на ноутбуках моего товарища по команде.

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

Я также несколько раз пытался перезагрузить свой ноутбук, но безрезультатно.

Есть идеи, что может заставить менеджера сущностей перестать находить сущности?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Решил проблему, удалив / переустановив glassfish

0 голосов
/ 03 мая 2018

Пожалуйста, попробуйте удалить встроенный файл. В основном это связано с кэшем / сборкой IDE.

Неизвестный класс EJB: класс data.entry.Movie, пожалуйста, убедитесь, что этот класс помечен аннотацией @Entity.

И, пожалуйста, проверьте это тоже.

...