JPA 无法解析列/IntelliJ

2022-08-31 15:17:01

我正在尝试使用Hibernate JPA实现来映射一些Java类。我的问题是我不能使用硬编码的字符串als列名称。您可以在下图中看到我收到的错误消息。

enter image description here

我正在使用OpenJPA作为我的默认JPA提供程序,并且已经尝试更改它。

IntelliJ 版本 14.0.3

问候


答案 1

您必须将数据源(首先在数据库视图中创建数据源 - 即真正的 JDBC 数据库连接)与持久性单元或会话工厂(休眠.cfg.xml)相关联。

请按照以下步骤操作,警告将消失:

  1. 打开持久性工具窗口(查看|工具窗口|持久性)。
  2. 右键单击必要的模块、持久性单元或会话工厂,然后在上下文菜单中选择“分配数据源”。
  3. 在打开的“分配数据源”对话框中,单击“数据源”字段,然后选择所需的数据源。(若要删除与数据源的关联,请选择 。)

请参阅此处:将数据源与会话工厂和持久性单元相关联


答案 2

对于那些只想禁用此检查的用户,请转到Intellij IDEA ->首选项->搜索“注释中未解析的数据库引用”并取消选中它。enter image description here (macOS Mojave 和 Intellij Ultimate 2019.3)
这将禁用检查并删除所有“无法解析列...”批注上的错误。Intellij 将停止检查数据库表中是否存在字符串列名。风险自负。@Column


推荐