我的数据库中有一个User
类,我的java类中有一个:{
用户
@Entity
public class User extends Model{
@Id
@GeneratedValue
public int id;
public String name;
public String username;
public String email;
public String password;
public String phoneNumber;
public Timestamp inscriptionDate;
public static Finder<String,User> find = new Finder<String,User>(
String.class, User.class
);
}
我尝试使用此Ebean语句根据其用户名检索唯一用户:
User current = Ebean.find(User.class).where().eq("user.username", username).findUnique();
但是我得到了这个错误:
Query threw SQLException:Column "USER.USERNAME" not found;
为什么?
以下是选择查询的结果。 (我删除了字段的值,但其中有一些值)。
答案 0 :(得分:1)
您的查询不正确。它应该是:
User current = Ebean.find(User.class).where().eq("username", username).findUnique();
这是因为您的实体类User表示USER表。字段用户名表示USERNAME列。
在您的查询中,SQL引擎正在USER表中查找USER.USERNAME列,因此出错。将查询更改为上面将搜索USER表中的USERNAME列(确实存在)。