我有一个使用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;
}
}
我try 使用以下查询检索用户名为"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")
匹配,还是也try 基于数据类型和约束(如唯一/自动增量)匹配?