如何用布尔条件编写JPA查询

Rad*_*rib 18 eclipselink jpql jpa-2.0

在我的项目中我使用JPA 2.0和eclipselink inplementation,我有以下问题:

我用boolean列定义了实体:

@Entity
public User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="USR_ID")
    private Short id;

    @Column(name="USR_NAME")
    private String name;

    @Column(name="USR_ACTIVE")
    private boolean active;

    .......

}
Run Code Online (Sandbox Code Playgroud)

我想创建将返回所有活动用户的查询,如下所示:

从用户u中选择你,其中u.active = TRUE;

但是,如果我使用该查询,我得到的异常是布尔值不能转换为Short(数据库中的列存储为smallint).有没有正确的方法来编写这个查询?

谢谢

YUI*_*ERT 19

使用以下表格:

SELECT e FROM Employee e WHERE e.active = TRUE

有关详细信息,请参阅文档:

  • 答案是“SELECT e FROM Employee e WHERE e.active = TRUE”,您可以忽略该链接。所以它不是“仅链接的答案”!此外,链接可能无效,任何答案也是如此!所以这个链接是任何有兴趣阅读更多的人的参考。最后但并非最不重要的是,该链接是一个 wiki 链接,因此它不亚于一个答案,而是一种获取您想知道的信息的方法!!! (3认同)

pun*_*uck 0

我使用 EclipseLink 作为 JPA 提供程序和 MySQL 数据库。使用此配置,使用 1 表示 true,0 表示 false 有效。