使用JPA和Hibernate将Java boolean映射到Oracle Number列

时间:2015-03-04 21:21:36

标签: java database oracle hibernate hibernate-criteria

我在我的模型中创建了这样的属性:

    public class Client {
        private Boolean active;
}

我的RDBMS是Oracle,active列的类型为NUMBER(1,0)

如何使用Restrictions API实现以下功能?

criteria.add(Restrictions.eq("active"),object.isActive());

2 个答案:

答案 0 :(得分:20)

Hibernate自动将Boolean Java类型映射到Oracle NUMBER(1,0)

因此,您可以在实体映射,JPQL或Criteria查询中使用Boolean值,生成的SQL将使用数据库NUMBER(1,0)格式。

答案 1 :(得分:2)

我不建议使用布尔值,你应该使用布尔值来防止NPE,因为布尔值只有两个可用值 - true或false。布尔值是什么意思?当你需要包装器类型布尔时,这是一种罕见的情况。 Oracle - 数字(1)默认值0不为空。