我在我的模型中创建了这样的属性:
public class Client {
private Boolean active;
}
我的RDBMS是Oracle,active
列的类型为NUMBER(1,0)
。
如何使用Restrictions API实现以下功能?
criteria.add(Restrictions.eq("active"),object.isActive());
答案 0 :(得分:20)
Hibernate自动将Boolean
Java类型映射到Oracle NUMBER(1,0)
。
因此,您可以在实体映射,JPQL或Criteria查询中使用Boolean
值,生成的SQL将使用数据库NUMBER(1,0)
格式。
答案 1 :(得分:2)
我不建议使用布尔值,你应该使用布尔值来防止NPE,因为布尔值只有两个可用值 - true或false。布尔值是什么意思?当你需要包装器类型布尔时,这是一种罕见的情况。 Oracle - 数字(1)默认值0不为空。