首页 > 解决方案 > JPA EntityManager 不再查找实体,即使恢复到曾经可以工作的代码也是如此

问题描述

我正在使用 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 将我的代码回滚到我知道它曾经可以工作的提交,它仍然会这样做。

此外,该代码仍然可以在我队友的笔记本电脑上运行。

当我尝试向另一个类添加注释并尝试对其进行测试时,问题就开始了。此错误开始出现。然后我将我的代码回滚到以前的提交以撤消我的更改,但我仍然收到错误消息。

我也试过多次重启我的笔记本电脑也无济于事。

知道什么会导致实体管理器无法找到实体吗?

标签: javamavenjpaglassfishentitymanager

解决方案


请尝试删除构建的文件。它主要与IDE缓存/构建缓存有关。

Unknown Entity bean 类:class data.entry.Movie,请确认该类已被@Entity 注解标记。

请也检查一下。


推荐阅读