Mysql “如何修复错误”;无法解析列…“;
我正在开发基于Spring框架、MySQL、JPA的Java web应用程序。我在尝试将数据从HTML表单持久化到SQL数据库时遇到了一个问题,然后我尝试进行调试和修复。我正在使用IntelliJ IDEA Ultimate 2017.1。我发现错误: 无法解析列“产品名称”。此检查控制是否 根据配置的持久性ORM注释进行检查 数据源 这是截图:Mysql “如何修复错误”;无法解析列…“;,mysql,spring,jpa,intellij-idea,Mysql,Spring,Jpa,Intellij Idea,我正在开发基于Spring框架、MySQL、JPA的Java web应用程序。我在尝试将数据从HTML表单持久化到SQL数据库时遇到了一个问题,然后我尝试进行调试和修复。我正在使用IntelliJ IDEA Ultimate 2017.1。我发现错误: 无法解析列“产品名称”。此检查控制是否 根据配置的持久性ORM注释进行检查 数据源 这是截图: 如何修复它?打开持久性工具窗口,右键单击模块,然后设置数据源。IntelliJ IDEA将通过真实的SQL数据库验证源代码。 您必须管理数据源。我遵
如何修复它?打开持久性工具窗口,右键单击模块,然后设置数据源。IntelliJ IDEA将通过真实的SQL数据库验证源代码。
您必须管理数据源。我遵循了这里详述的步骤 在我的例子中,我做了以下工作(我使用Pycharms,但我假设其他Jetbrains IDE的过程类似):
- 进入
查看
工具窗口
数据库
- 单击扳手图标以配置db连接
- 配置它,并尝试连接与测试连接一起工作
Pycharms现在应该自动完成数据库中的字段 如果仍然不起作用:
- 尝试重新启动Pycharms
- 转到选项(command++
),然后搜索SQL,选择菜单,
,并尝试通过单击SQL解析范围
添加范围,然后选择当前项目文件夹作为路径,选择数据库作为解析范围++
这将禁用检查并删除
@列
注释上的所有“无法解析列…”错误。Intellij将停止检查数据库表中是否存在字符串列名。请自行承担风险。我找到了解决此错误的临时方法。
在遵循我的解决方法之前,请准确地执行答案的建议然后,转到任何未解析的列,右键单击该列,然后单击执行。和爆炸恼人的警告已解决:)
在尝试了上述所有解决方案后,我通过单击数据库工具窗口中的
刷新
解决了这个问题
我找不到“持久性”工具窗口。它在哪里?您必须启用facet
JPA
,如果您进行了架构更改,您可能需要刷新数据源。IMHO,这是在开发过程中处理临时内存中数据库(如H2)的最佳答案—升级到Intellij Ultimate 2019.3.1后出现此问题。