我开发了Spring Framework MVC应用程序。我也用hibernate。现在我为User实体制作简单的POJO。
@Entity
@Table(name="USERS")
public class User{
@Column(name = "USERNAME", nullable = false, unique = true)
private String username;
}
我的代码正在运行,但IDEA向我显示了下一个警告。
无法解决列'USERNAME'较少...(Ctrl + F1)此检查 控制是否检查持久性ORM注释 配置数据源
我做错了什么?
答案 0 :(得分:11)
当光标位于Alt+Enter
时,按USERNAME
可查看包含可用操作的弹出窗口。您将看到一个选项“配置数据源”或类似的东西,选择它,您将看到一个窗口。您应该根据数据库类型(PostgreSQL,MySQL等)添加新数据源,并使用您的连接参数进行配置。
有用的链接:Managing Data Sources
答案 1 :(得分:1)
1。步骤1
您必须转到项目设置下的项目结构,选择模块
单击绿色加号图标,然后选择休眠,然后单击确定。
2。步骤2
现在,您必须将数据源分配给Intellij,在Intellij窗口的右侧,您可以看到此数据库图标,如果不存在,则必须标记 View> Tool Buttons < / strong>
点击绿色的加号按钮,然后选择数据源,然后通过这种方式连接数据库。
3。步骤3
在Intellij的左侧,您必须看到下图所示的Presistence按钮。
右键单击 getSessionFactory>关联数据源。,然后必须将数据源选择为sessionFactory。
注意:如果您更新架构并更新数据库,则必须通过单击数据库窗口中的刷新按钮来更新和同步与Intellij连接的数据库:
注意:这适用于所有实体,您会看到某些实体类的属性的红线是您的类名超过一个单词,并且必须在其中定义表名的原因像这样的 @table :
@Entity
@Table(name = "user_info")
class UserInfo {
答案 2 :(得分:0)
你知道,当Hibernate更新到4.3.x时,不支持@Table注释。 更改的是,当您需要在Model中定义表名时,需要输入如下内容: 的 @实体(名称= “表名”)强>