Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql “如何修复错误”;无法解析列…“;_Mysql_Spring_Jpa_Intellij Idea - Fatal编程技术网

Mysql “如何修复错误”;无法解析列…“;

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数据库验证源代码。 您必须管理数据源。我遵

我正在开发基于Spring框架、MySQL、JPA的Java web应用程序。我在尝试将数据从HTML表单持久化到SQL数据库时遇到了一个问题,然后我尝试进行调试和修复。我正在使用IntelliJ IDEA Ultimate 2017.1。我发现错误:

无法解析列“产品名称”。此检查控制是否 根据配置的持久性ORM注释进行检查 数据源

这是截图:


如何修复它?

打开持久性工具窗口,右键单击模块,然后设置数据源。IntelliJ IDEA将通过真实的SQL数据库验证源代码。
您必须管理数据源。我遵循了这里详述的步骤

在我的例子中,我做了以下工作(我使用Pycharms,但我假设其他Jetbrains IDE的过程类似):

  • 进入
    查看
    工具窗口
    数据库

  • 单击扳手图标以配置db连接

  • 配置它,并尝试连接与测试连接一起工作


Pycharms现在应该自动完成数据库中的字段

如果仍然不起作用:

  • 尝试重新启动Pycharms
  • 转到选项(command++
    ),然后搜索SQL,选择菜单
    SQL解析范围
    ,并尝试通过单击
    ++
    添加范围,然后选择当前项目文件夹作为路径,选择数据库作为解析范围

对于那些只想禁用此检查的人,请转到 Intellij IDEA->Preferences->Search“注释中未解析的数据库引用”并取消选中。 (macOS Mojave和Intellij Ultimate 2019.3)

这将禁用检查并删除
@列
注释上的所有“无法解析列…”错误。Intellij将停止检查数据库表中是否存在字符串列名。请自行承担风险。

我找到了解决此错误的临时方法。 在遵循我的解决方法之前,请准确地执行
答案的建议然后,转到任何未解析的列,右键单击该列,然后单击执行。和爆炸恼人的警告已解决:)


在尝试了上述所有解决方案后,我通过单击数据库工具窗口中的
刷新
解决了这个问题


我找不到“持久性”工具窗口。它在哪里?您必须启用facet
JPA
,如果您进行了架构更改,您可能需要刷新数据源。IMHO,这是在开发过程中处理临时内存中数据库(如H2)的最佳答案—升级到Intellij Ultimate 2019.3.1后出现此问题。