代码之家  ›  专栏  ›  技术社区  ›  quantumbutterfly

JPA EntityManager不再查找实体,即使恢复为以前工作的代码

  •  0
  • quantumbutterfly  · 技术社区  · 6 年前

    我正在用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 回复  |  直到 6 年前
        1
  •  0
  •   Mạnh Quyết Nguyễn    6 年前

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

    未知的实体bean类:类数据。进入电影,请验证该类是否已标记为@实体批注。

    请检查一下。

        2
  •  0
  •   quantumbutterfly    6 年前

    通过卸载/重新安装glassfish解决了此问题