Eclipse在我的JPA项目中报告错误

每次我创建一个JPA项目时,Eclipse报告我的项目中存在错误,但我不明白为什么会这样做。 我在下面添加了图片和错误:

在此处输入图像描述

说明资源路径位置类型列“id”无法在表“page”上解析Page.java / BreakpointJPA / src / no / breakpoint / domain line 14 JPA问题

说明资源路径位置类型列“标题”无法在表“page”上解析Page.java / BreakpointJPA / src / no / breakpoint / domain line 18 JPA问题

说明资源路径位置类型主键连接列“id”无法在表“page”上解析Page.java / BreakpointJPA / src / no / breakpoint / domain line 10 JPA问题

在此处输入图像描述

我遇到了同样的问题,我的解决方案是刷新数据库连接。

打开JPA视图,找到数据源资源管理器。 在那里打开数据库连接,连接数据库,点击刷新。 然后在文件中进行一些更改并保存,我在我的id字段中添加了一个@Column(name =“”)注释。 之后,错误消息消失了,我开始使用Column注释。

问题似乎是eclipse在建立第一个连接之后读取数据库表,之后关闭连接。 因此,如果你像我一样,在数据库中的第一次连接之后做了一些更改,比如将字段名称从foo_id更改为id,eclipse不知道并且出现此错误。

旧线程,但我只是遇到了同样的问题,并用更快的方法解决了。

  1. 项目属性 – > JPA
  2. 将连接更改为。 点击申请。
  3. 更改与先前值的连接。 点击申请。

希望这有助于某人。

如果您想轻松解决问题,请阅读此内容

您的数据库没有问题。 您只需创建一个从Eclipse到我们在向项目添加JPAfunction期间所做的同一数据库的新连接。

脚步:-
从mysql提示符创建一个新数据库。
右键单击Eclipse / MyEclipse中的Project,然后转到Properties。
单击左侧的Eclipse / MyEclipse选项卡,然后单击JPA子菜单。
然后单击“创建新连接”。 添加一个新的连接名称。 并添加相同的数据库。 (您也可以选择更改数据库,但同样的数据库也可以)。
测试连接,然后单击完成。
第一次它不会显示新创建的连接名称。 只需单击“确定”即可关闭该窗口。

然后,再次右键单击Project,然后单击Propeties。 现在,您可以在该连接下拉列表中看到新创建的连接。 选择并单击“确定”。

你的错误会消失。

出现此错误的可能原因: –
每次使用persistence.xml使用任何项目连接时,Eclipse都会与您建立数据库连接,但这仅是第一次。
因此,之后的任何更改,尤其是来自数据库端(表名等)的更改都将从Eclipse中引发错误。

谢谢。

我有同样的问题。 这是我解决它的方式

  1. 刷新连接
    • 转到Data Source Explorer
    • 选择连接并右键单击
    • 选择刷新
  2. 清理项目
    • 转到项目菜单
    • 选择干净

转到Data Source Explorer,断开数据库连接,连接数据库连接后,右键单击项目并单击“validation”。

我希望它对你有所帮助。

您的项目中是否包含JPA / JPA2接口? 如果您使用的是maven,则需要为类包含依赖项。 我假设它们是因为导入声明中没有出现红线,但为了安全起见,您应该validation它们是否存在。

对于JPA2依赖项,您可以使用:

 org.hibernate.javax.persistence hibernate-jpa-2.0-api 1.0.0.Final  

你能试试这个:

 @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name = "id", unique=true, nullable=false) private int id 

尝试在@Column(name =“”)的引号内进行代码辅助。 或者打开JPA详细信息视图并查看列名称组合以查看列选项。 @Table(name =“page”)注释没有validation错误,因此看起来Eclipse正在查找页表。

注释看起来正确,你确定你的项目类路径是好的吗? 首先尝试构建没有id和title字段的实体。

在我的例子中,它只是在Properties-> JPA-> Add connection中的旧连接。 所以刷新无济于事。 正确数据库的新连接将有助于刷新时不会。