我的数据库和 java 类中有一个 User
类:
用户
@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();
这是因为您的实体类 User 代表表 USER。字段 username 代表列 USERNAME。
在您的查询中,SQL 引擎正在 USER 表中查找 USER.USERNAME 列,因此出现错误。将查询更改为上面的查询将搜索 USER 表中的 USERNAME 列(该列确实存在)。
关于java - 这个Ebean请求有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28832145/