无法解析列'USERNAME'

Dae*_*712 5 java hibernate intellij-idea

我开发了Spring Framework MVC应用程序.我也用hibernate.现在我为User实体制作简单的POJO.

@Entity
@Table(name="USERS")
public class User{
    @Column(name = "USERNAME", nullable = false, unique = true)
    private String username;
}
Run Code Online (Sandbox Code Playgroud)
  • 我配置了org.springframework.orm.hibernate4.LocalSessionFactoryBean

我的代码正在运行,但IDEA向我展示了下一个警告.

无法解析列'USERNAME'较少...(Ctrl + F1)此检查控制是否针对已配置的数据源检查持久性ORM注释

我做错了什么?

Eve*_*0id 13

Alt+Enter光标打开时按下USERNAME可查看具有可用操作的弹出窗口.您将看到一个选项"配置数据源"或类似的东西,选择它,您将看到一个窗口.您应该根据数据库类型(PostgreSQL,MySQL等)添加新数据源,并使用您的连接参数进行配置.

有用的链接:管理数据源


Mos*_*khi 5

1.第1步

您必须转到项目设置下的项目结构 选择模块

单击绿色加号图标,然后选择休眠,然后单击确定。

在此处输入图片说明

2.第2步

现在你必须将数据源分配给你的 Intellij,在 Intellij 窗口的右侧你可以看到这个Database Icon,如果不存在你必须标记 View > Tool Buttons

在此处输入图片说明

单击绿色加号按钮并选择数据源并通过这种方式连接您的数据库。

3.第三步

在 Intellij 的左侧,您必须看到如下图所示的 Presistence 按钮。

在此处输入图片说明

右键单击getSessionFactory > Assing Data source ..然后你必须选择你的数据源到 sessionFactory。

注意:如果您更新架构和更新数据库,您必须通过单击数据库窗口中的刷新按钮来更新和同步连接到您的 Intellij 的数据库:

在此处输入图片说明

注意:这适用于所有 entity ,您看到某些实体类的属性红线的原因是您的类名不止一个单词,您必须在@table 中定义表名,如下所示:

@Entity
@Table(name = "user_info")
class UserInfo {
Run Code Online (Sandbox Code Playgroud)