Java 无法解析列';用户名';较少的

Java 无法解析列';用户名';较少的,java,hibernate,intellij-idea,Java,Hibernate,Intellij Idea,我开发了Spring框架MVC应用程序。我也使用hibernate。现在,我为用户实体创建了简单的POJO @Entity @Table(name="USERS") public class User{ @Column(name = "USERNAME", nullable = false, unique = true) private String username; } 我配置org.springframework.orm.hibernate4.LocalSessionF

我开发了Spring框架MVC应用程序。我也使用hibernate。现在,我为用户实体创建了简单的POJO

@Entity
@Table(name="USERS")
public class User{
    @Column(name = "USERNAME", nullable = false, unique = true)
    private String username;
}
  • 我配置org.springframework.orm.hibernate4.LocalSessionFactoryBean
我的代码正在运行,但IDEA会给我下一个警告

无法解析列“用户名”小于。。。(Ctrl+F1)此检查 控制是否检查持久性ORM注释 配置的数据源


我做错了什么?

当光标位于
USERNAME
上时,按
Alt+Enter
,查看带有可用操作的弹出窗口。您将看到“配置数据源”之类的选项,选择它,您将看到一个窗口。您应该根据数据库类型(PostgreSQL、MySQL等)添加新的数据源,并使用连接参数对其进行配置


有用链接:

您知道,当Hibernate更新到4.3.x时,将不再支持@Table annotation。 所做的更改是,当您需要在模型中定义表名时,您需要这样键入:
@Entity(name=“tableName”)1.步骤1

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

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

2.步骤2

现在,您必须将数据源分配给Intellij,在Intellij窗口的右侧,您可以看到此数据库图标,如果不存在,则必须标记视图>工具按钮

单击绿色加号按钮并选择数据源,然后通过这种方式连接数据库

3.步骤3

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

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

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

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

@Entity
@Table(name = "user_info")
class UserInfo {

我不知道足够的想法。。。但我认为您可以在IDEA中配置数据源,以便IDEA能够更好地支持您的开发/jpa映射。。。我认为您可以在IDEA中配置数据源。但这只是一种猜测。。。但是你可以试试。