使用 JPA 和 Hibernate 将 Java 布尔值映射到 Oracle Number 列

Mapping Java boolean to Oracle Number column with JPA and Hibernate

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

    public class Client {
        private Boolean active;
}

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

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

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

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

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

我不建议使用布尔值,您应该使用布尔值来防止 NPE,因为布尔值只有两个可用值 - true 或 false。布尔值 null 是什么意思?当您需要包装器类型 Boolean 时,这种情况很少见。 Oracle - number(1) default 0 not null.