pic*_*aer 30 java mapping hibernate jpa intellij-idea
我正在尝试使用Hibernate JPA实现映射一些Java类.我的问题是我不能使用硬编码的Strings als列名.您可以在下面的图片中看到我收到的错误消息.

我正在使用OpenJPA作为我的默认JPA提供程序,并且已经尝试更改它.
IntelliJ版本14.0.3
问候,
pan*_*tis 77
您必须将数据源(首先在数据库视图中创建数据源 - 也就是真正的JDBC数据库连接)与持久性单元或会话工厂(hibernate.cfg.xml)相关联.
按照以下步骤操作,警告将消失:
请参见此处:将数据源与会话工厂和持久性单元相关联
yet*_*sun 34
对于那些只想禁用此检查的人,请转到 Intellij IDEA -> 首选项 -> 搜索“注释中未解析的数据库引用”并取消选中它。
(macOS Mojave 和 Intellij Ultimate 2019.3)
这将禁用检查并删除@Column注释上的所有“无法解析列...”错误。Intellij 将停止检查数据库表中是否存在字符串列名称。风险自负。
Ste*_*ens 13
我发现Panos的答案很有用,但我没有看到有人提到将数据库添加为数据源.也许这是常规的假设,但如果没有,这就是我必须做的事情:
选择查看/工具Windows /数据库
数据库窗口通常显示在右上角.
在"数据库"窗口中,单击绿色+符号,然后选择" 数据源/ MySQL"(或您正在使用的任何数据源).
弹出" 数据源和驱动程序"窗口.
如果您的数据库未在此处列出,请使用空表单添加以下内容:
用户名:供您使用.
密码:用于数据库用户的密码.
IDEA可能需要一些小工具才能找到JDBC驱动程序.我被告知理论上应该在我正在进行的项目的maven构建过程中找到它,但事实并非如此.我重新打开了View/Tool Windows/Database并查看了我的MySQL条目.在底部,它在Driver:旁边有一条错误消息,还有一个MySQL链接.我点击了MySQL链接,IDEA提出了一个弹出窗口来获取Connector/J.
尽管自动提交和自动同步的复选框默认为已检查并且我将其保留,但IDEA似乎需要轻推.或许这只是需要一段时间而且我很不耐烦.
在任何情况下,我第一次上线双击我的数据库的数据库.这似乎是这样做的,但我还没有意识到我还需要持久性,并且在排序时,在同事的建议下,我还点击了数据库上的同步按钮(圆圈中的两个箭头).
在你的数据库上也可以右键单击数据库,并选择同步.
可能需要几秒钟,但您应该看到IDEA填充数据库中条目下的数据库模式.
最后我找到了Panos的答案并修复了Persistence.
选择" 查看/工具Windows /持久性"
"持久性"窗口通常显示在左上角.
在"持久性"窗口中,右键单击项目,然后选择" 分配数据源".
IDEA会弹出一个包含两列的对话框,您的项目位于左列,在我的情况下是右侧列中的空单元格.单击空单元格,IDEA应该为您提供一个下拉列表,允许您选择刚刚添加的数据库.
同样,IDEA可能需要几秒钟才能完成对数据源的分析并重做所有检查.