在我的项目我使用JPA 2.0的EclipseLink inplementation,一个我有以下问题:如何编写与布尔条件JPA查询
我与布尔列定义的实体:
@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;
.......
}
我想创建将返回所有活动用户的查询,如下所示:
从用户u中选择u其中u.active = TRUE;
但是,如果我使用该查询,我得到异常,布尔值不能转换为短(数据库中的列存储为smallint)。有没有正确的方法来编写这个查询?
谢谢
什么JPA的供应商?您使用的是哪种数据库供应商(MySQL,SQL Server,Oracle)?您使用的是什么JDBC驱动程序? – 2011-06-08 19:56:06
我使用Eclipselink作为JPA提供程序,Derby作为数据库和Derby客户端jdbc驱动程序,但也使用Spring创建EntityManager,事务管理...而且还有一个问题,我忘记指定JPA供应商。在添加 查询TRUE条件工作。 –
2011-06-09 10:29:48
在这里和Derby/Hibernate一样。但它适用于MySQL。 :-) – 2012-04-03 13:02:19