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

问题描述 投票:10回答:2

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

    public class Client {
        private Boolean active;
}

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

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

criteria.add(Restrictions.eq("active"),object.isActive());
java database oracle hibernate hibernate-criteria
2个回答
20
投票

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

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


2
投票

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

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.