When you prepare a Hibernate mapping document, we have seen that you map Java data types into RDBMS data types. The types declared and used in the mapping files are not Java data types; they are not SQL database types either. These types are called Hibernate mapping types, which can translate from Java to SQL data types and vice versa.
This chapter lists down all the basic, date and time, large object, and various other builtin mapping types.
Primitive types:
Mapping type
Java type
ANSI SQL Type
integer
int or java.lang.Integer
INTEGER
long
long or java.lang.Long
BIGINT
short
short or java.lang.Short
SMALLINT
float
float or java.lang.Float
FLOAT
double
double or java.lang.Double
DOUBLE
big_decimal
java.math.BigDecimal
NUMERIC
character
java.lang.String
CHAR(1)
string
java.lang.String
VARCHAR
byte
byte or java.lang.Byte
TINYINT
boolean
boolean or java.lang.Boolean
BIT
yes/no
boolean or java.lang.Boolean
CHAR(1) ('Y' or 'N')
true/false
boolean or java.lang.Boolean
CHAR(1) ('T' or 'F')
Date and time types:
Mapping type
Java type
ANSI SQL Type
date
java.util.Date or java.sql.Date
DATE
time
java.util.Date or java.sql.Time
TIME
timestamp
java.util.Date or java.sql.Timestamp
TIMESTAMP
calendar
java.util.Calendar
TIMESTAMP
calendar_date
java.util.Calendar
DATE
Binary and large object types:
Mapping type
Java type
ANSI SQL Type
binary
byte[]
VARBINARY (or BLOB)
text
java.lang.String
CLOB
serializable
any Java class that implements java.io.Serializable