5.2.2. 基本的な型

組み込みの 基本的なマッピング型 は大まかに以下のように分けることができます。
integer, long, short, float, double, character, byte, boolean, yes_no, true_false
Java のプリミティブやラッパークラスから適切な(ベンダー固有の) SQL カラム型への型マッピング。 boolean, yes_notrue_false は、すべて Java の boolean または java.lang.Boolean の代替エンコードです。
string
java.lang.String から VARCHAR (または Oracle の VARCHAR2 )への型マッピング。
date, time, timestamp
java.util.Date とそのサブクラスから SQL 型の DATETIMETIMESTAMP (またはそれらと等価なもの) への型マッピング。
calendar, calendar_date
java.util.Calendar から SQL 型 の「 TIMESTAMPDATE (またはそれらと等価なもの)への型マッピング。
big_decimal, big_integer
java.math.BigDecimaljava.math.BigInteger から NUMERIC(または Oracle の NUMBER )への型マッピング。
locale, timezone, currency
java.util.Localejava.util.TimeZonejava.util.Currency から VARCHAR (または Oracle の VARCHAR2 )への型マッピング。 LocaleCurrency のインスタンスは、それらの ISO コードにマッピングされます。 TimeZone のインスタンスは、それらの ID にマッピングされます。
class
java.lang.Class から VARCHAR (または Oracle の VARCHAR2 )への型マッピング。 Class はその完全修飾された名前にマッピングされます。
binary
バイト配列は、適切な SQL のバイナリ型にマッピングされます。
text
長い Java 文字列は、 SQL の CLOB または TEXT 型にマッピングされます。
serializable
シリアライズ可能な Java 型は、適切な SQL のバイナリ型にマッピングされます。デフォルトで基本型ではないシリアライズ可能な Java クラスやインターフェースの名前を指定することで、Hibernate の型を serializable とすることもできます。
clob, blob
JDBC クラス java.sql.Clobjava.sql.Blob に対する型マッピング。blob や clob オブジェクトはトランザクションの外では再利用できないため、アプリケーションによってはこれらの型は不便かもしれません。さらにはドライバサポートが不完全で一貫していません。
imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary
可変と考えられるJava の型に対する型マッピング。Hibernate は不変な Java の型に対しては最適化を行い、アプリケーションはそれを不変オブジェクトとして扱います。例えば imm_timestamp としてマップしたインスタンスに対して、Date.setTime() を呼び出してはなりません。プロパティの値を変更しその変更を永続化するためには、アプリケーションはプロパティに対して、同一でない新規 オブジェクトを割り当てなければなりません。
エンティティとコレクションのユニークな識別子は、binaryblobclob を除く、どんな基本型でも構いません。また、複合識別子でも構いません。詳細は以下を参照してください。
基本的な値型には、 org.hibernate.Hibernate で定義された Type 定数がそれぞれあります。例えば、 Hibernate.STRINGstring 型を表現しています。