如何修复错误“无法解析列...”

时间:2017-05-02 13:41:10

标签: mysql spring jpa intellij-idea

我正在开发基于Spring Framework,MySQL,JPA的Java Web应用程序。我尝试从HTML表单到SQL数据库的持久性数据时遇到问题,然后我尝试调试和修复。我正在使用 IntelliJ IDEA Ultimate 2017.1 。我抓到了错误:

  

无法解析列'product_name'此检查控制是否   根据配置检查持久性ORM注释   数据源

这是截图: enter image description here

如何解决?

5 个答案:

答案 0 :(得分:3)

打开Persistence工具窗口,右键单击模块,然后设置DataSource。 IntelliJ IDEA将通过真实SQL数据库验证源代码。 enter image description here

答案 1 :(得分:0)

您必须管理您的数据源。我按照这里详细说明的步骤 https://www.jetbrains.com/help/pycharm/managing-data-sources.html

就我而言,我做了以下工作(我使用的是Pycharms,但我认为其他Jetbrains IDE的过程与此类似):

  • 通过转到view> tool windows> database,打开“数据源和驱动程序”窗口

  • 单击扳手图标以配置数据库连接

  • 进行配置,然后尝试使用Test Connection连接


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

如果仍然无法使用:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我找到了一个 TEMPORARY 解决此错误的方法。 请在遵循我的解决方法之前完全按照@Benjamin Crouzier 的回答建议进行操作。 THEN,转到任何未解析的列,右键单击它,然后单击执行。和 Boom 烦人的警告已解决 :)

phpstorm fix warning

答案 4 :(得分:0)

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

refresh