java - 这个Ebean请求有什么问题

标签 java mysql playframework playframework-2.2 ebean

我的数据库和 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查询的结果。 (我删除了字段的值,但里面还有一些值)。 Select * from user

最佳答案

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

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/

相关文章:

c# - 确定文本宽度

java - 更改数据后如何刷新GRAL图表?

java - 在 JPanel 中使用 ArrayList

mysql - 删除mysql表中括号内的数据

scala - 当我用 sbt 运行 Play Framework 示例时出现一些错误

scala - 在 Play 框架规范中设置 PhantomJSDriver 上的 Accept-Language

java - Dagger-带有继承的Android Activity注入(inject): "This type supports members injection but cannot be implicitly provided."

mysql - 如何创建递归 mysql 查询以返回文档层次结构?

php - CakePHP saveAll 方法

scala - 如何将 RX Observable 转换为 Play Enumerator