java - 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 将我的代码回滚到我知道它曾经可以工作的提交,它仍然会这样做。
此外,该代码仍然可以在我队友的笔记本电脑上运行。
当我尝试向另一个类添加注释并尝试对其进行测试时,问题就开始了。此错误开始出现。然后我将我的代码回滚到以前的提交以撤消我的更改,但我仍然收到错误消息。
我也试过多次重启我的笔记本电脑也无济于事。
知道什么会导致实体管理器无法找到实体吗?
解决方案
请尝试删除构建的文件。它主要与IDE缓存/构建缓存有关。
Unknown Entity bean 类:class data.entry.Movie,请确认该类已被@Entity 注解标记。
请也检查一下。
推荐阅读
- android - 在 AutoCompleteTextView 中进行选择时崩溃
- python - 根据其他列更新列值
- google-maps - 谷歌地图 JavaScript 街景错误
- scala - Scala Anorm 查询异常处理
- angular - Leaflet MarkerCluster removeOutsideVisibleBounds 不起作用
- c# - C# WPF - 类的数据绑定 ObservableCollection 的组合框
- python - 程序没有在python中打印结果就符合要求
- apache-spark - 从数据框中动态获取列,列名将出现在变量中
- python - 尝试学习json
- c# - 修改结构变量