我有一个模型类,使用Hibernate映射到PostgreSQL数据库。我的模型类如下:
@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")
匹配还是还尝试基于数据类型和约束(例如唯一/自动递增)匹配?
myapp
。 - kovac