您必须将数据源(首先在数据库视图中创建数据源-也就是您真正的JDBC数据库连接)与持久性单元或会话工厂(hibernate.cfg.xml)相关联。 按照以下步骤操作,警告将消失: 1.打开“持久性”工具窗口(查看|工具窗口|持久性)。 1.右键单击所需的模块、持久性单元或会话工厂,然后在上下文菜单中选择“分配数据源”。 1.在打开的“分配数据源”对话框中,单击“数据源”字段并选择所需的数据源。(要删除与数据源的关联,请选择。) 请参见此处:Associating data sources with session factories and persistence units
对于那些只想禁用此检查的用户,请转到Intellij IDEA -〉首选项-〉搜索“注解中未解析的数据库引用”并取消选中它。x1c 0d1x(macOS Mojave and Intellij Ultimate 2019.3) 这将禁用检查并删除@Column注解上的所有“无法解析列...”错误。Intellij将停止检查数据库表中是否存在String列名称。执行此操作的风险由您自行承担。
9条答案
按热度按时间6qfn3psc1#
您必须将数据源(首先在数据库视图中创建数据源-也就是您真正的JDBC数据库连接)与持久性单元或会话工厂(hibernate.cfg.xml)相关联。
按照以下步骤操作,警告将消失:
1.打开“持久性”工具窗口(查看|工具窗口|持久性)。
1.右键单击所需的模块、持久性单元或会话工厂,然后在上下文菜单中选择“分配数据源”。
1.在打开的“分配数据源”对话框中,单击“数据源”字段并选择所需的数据源。(要删除与数据源的关联,请选择。)
请参见此处:Associating data sources with session factories and persistence units
p4rjhz4m2#
对于那些只想禁用此检查的用户,请转到Intellij IDEA -〉首选项-〉搜索“注解中未解析的数据库引用”并取消选中它。x1c 0d1x(macOS Mojave and Intellij Ultimate 2019.3)
这将禁用检查并删除
@Column
注解上的所有“无法解析列...”错误。Intellij将停止检查数据库表中是否存在String列名称。执行此操作的风险由您自行承担。3ks5zfa03#
我发现Panos的回答很有用,但我没有看到任何人提到将数据库添加为数据源。也许这是一个足够常规的假设,但如果不是,下面是我必须做的:
选择视图/工具窗口/数据库
[数据库]视窗通常出现在右上方。
在“数据库”窗口中,单击绿色的**+符号,然后选择数据源/MySQL**(或您正在使用的任何类型的数据源)。
弹出数据源和驱动程序窗口。
如果您的数据库未在此处列出,请使用空表单添加以下内容:
***Host:**通常为localhost,但如果您的测试数据库位于另一台计算机上,请输入该地址。
***用户名:**供您的数据库使用。
***密码:**为您的数据库使用者密码。
IDEA可能需要一些操作来找到JDBC驱动程序。我被告知理论上它应该在我正在工作的项目的maven构建过程中找到它,但它没有。我重新打开View/Tool Windows/Database并查看我的MySQL条目。在底部,它在Driver:旁边有一个错误消息,还有一个MySQL链接。我点击了MySQL链接,IDEA弹出一个弹出窗口来获取Connector/J。
尽管Auto commit和Auto sync的复选框默认为选中状态,我也没有去勾选它们,但IDEA似乎需要一点帮助,或者只是需要一段时间,我不耐烦了。
在任何情况下,我首先双击了Database中的数据库行。这似乎可以做到这一点,但我还没有意识到我需要Persistence,在整理这些内容时,在同事的建议下,我还单击了Database上的Synchronize按钮(圆圈中的两个箭头)。
您也可以在数据库中右键单击数据库,然后选择同步。
这可能需要几秒钟的时间,但您应该会看到IDEA在Database中的条目下填充数据库架构。
最后,我找到了帕诺斯的答案,并修复了持久性。
选择视图/工具窗口/持久性
“持久性”窗口通常显示在左上方。
在“持久性”窗口中,右键单击项目,然后选择“分配数据源”。
IDEA会弹出一个两栏的对话框,左栏是你的项目,右栏是一个空单元格,点击这个空单元格,IDEA会给予一个下拉菜单,让你选择刚添加的数据库。
同样,IDEA可能需要几秒钟的时间来完成数据源的分析并重新进行所有检查。
pwuypxnk4#
只是对于其他任何人谁这没有解决,并通过谷歌遇到(像我自己)..设置表名通过@表注解修复了我。
4nkexdtk5#
实际上,这并不是任何阻止代码编译的错误。可能是你的拼写检查器打开了,给你带来了拼写错误。如果你能编译代码,那么你可以忽略这些类型的情况。
看,你没有得到任何错误的其他文本,如
@Column
,@GeneratedValue
等。这意味着jar使用这类的东西是在您的构建路径。所以我认为你可以忽略这些类型的错误。ws51t4hk6#
也许这个解决方案也能帮助一些人...
1.从Intellij右侧打开数据库对话框窗口
1.转到"DB数据源属性“(在顶部菜单中找到)
1.转到方案
1.取消选中“默认数据库”
1.检查您的特定数据库,并在内部检查默认模式(公共)
祝你好运!
pzfprimi7#
如果不存在真正的不匹配,并且只是由于IDE而出现此警告,则可以轻松地将项目与所连接的数据源链接起来。Intellij已经建议了这样做的方法。
um6iljoc8#
我正在使用Intellij,通过JPA连接数据库。我遇到了和你一样的问题,这是我的解决方案。
1.您需要按照以下步骤连接数据库:
1.连接数据库后,您需要按照以下步骤将数据源分配给Intellj