这个 Ebean 请求有什么问题

What's wrong with this Ebean request

我的数据库中有一个 User class,在我的 java class 中:
用户

@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;

为什么?

这是 Select 查询的结果。 (我删除了字段的值,但其中有一些值)。

您的查询不正确。应该是:

User current = Ebean.find(User.class).where().eq("username", username).findUnique();

这是因为您的实体 class 用户代表 table 用户。字段 username 代表 USERNAME 列。

在您的查询中,SQL 引擎正在查找 USER table 中的列 USER.USERNAME,因此出现错误。将查询更改为以上将搜索 USER table.

中的 USERNAME 列(确实存在)