web-dev-qa-db-ja.com

JPAとHibernateを使用したマッピングJava boolean to Oracle Number column

私のモデルに次のように作成されたプロパティがあります:

_    public class Client {
        private Boolean active;
}
_

私のRDBMSはOracleで、active列のタイプはNUMBER(1,0)です。

制限APIを使用して次の機能を実現するにはどうすればよいですか?

_criteria.add(Restrictions.eq("active"),object.isActive());
_
15
Rafael Roque

HibernateはBoolean JavaタイプをOracle NUMBER(1,0)に自動的にマップします。

したがって、エンティティマッピング、JPQL、またはCriteriaクエリでBoolean値を使用でき、生成されたSQLは代わりにデータベースNUMBER(1,0)形式を使用します。

26
Vlad Mihalcea

ブール値の使用はお勧めしません。ブール値を使用してNPEを防止する必要があります。ブール値には、trueまたはfalseの2つの値しかありません。ブール値のnullとはどういう意味ですか?ラッパータイプのブール値が必要な場合はまれです。 Oracle-number(1)デフォルト0はnullではありません。

2
idmitriev