【发布时间】:2018-01-28 15:44:36
【问题描述】:
我有一个使用 hibernate 映射到 postgres 数据库的模型类。我的模型类是:
@Entity
@Table(name="USER")
public class User {
@Id
@GeneratedValue
@Column(name="id")
private long id;
@Column(name="username", unique=true)
private String username;
@Column(name="email")
private String email;
@Column(name="created")
private Timestamp created;
public User(long id, String username, String email) {
this.id = id;
this.username = username;
this.email = email;
}
}
我尝试使用以下查询检索用户名为“adam”的用户:
tx = session.beginTransaction();
TypedQuery<User> query = session.createQuery("FROM User u WHERE u.username = :username", User.class).setParameter("username", "adam");
user = query.getSingleResult();
我得到一个例外:
org.postgresql.util.PSQLException: ERROR: column user0_.id does not exist
我的 bash shell 数据库如下所示:
hibernate 如何将类属性映射到表列?它是仅基于@Column(name="username") 匹配,还是也尝试基于数据类型和约束(例如唯一/自动增量)进行匹配?
【问题讨论】:
-
您使用的 shcema 的名称是什么?
-
架构名称是
myapp。
标签: java postgresql hibernate jpa entity