深入浅出Hibernate

深入浅出Hibernate

测试第一个JunitTest所需要的类库

r_测试第一个JunitTest所需要的类库.jpg

将hibernate.cfg.xml文件放到src目录下,那么在进行JUnit测试的时候,不需要制定hibernate.cfg.xml文件的路径
通过Configuration config=new Configuration().configure();就可以让Eclipse自动找到找个文件。


   表1 Hibernate标识生成策略
标识符生成器
描述
increment 适用于代理主键。
由Hibernate自动以递增方式生成。
identity 适用于代理主键。
由底层数据库生成标识符。
sequence 适用于代理主键。
Hibernate根据底层数据库的序列生成标识符,
这要求底层数据库支持序列。
hilo

适用于代理主键。
Hibernate分局high/low算法生成标识符。

seqhilo 适用于代理主键。
使用一个高/低位算法来高效的生成long,
short或者int类型的标识符。
native 适用于代理主键。
根据底层数据库对自动生成标识符的方式,
自动选择identity、sequence或hilo。
uuid.hex 适用于代理主键。
Hibernate采用128位的UUID算法生成标识符。

uuid.string
适用于代理主键。
UUID被编码成一个16字符长的字符串。
assigned 适用于自然主键。由Java应用程序负责生成标识符。
foreign 适用于代理主键。使用另外一个相关联的对象的标识符。

  Hibernate映射类型

   在对象/关系映射文件中,Hibernate采用映射类型作为Java类型和SQL类型的桥梁。Hibernate映射类型分为2种:内置映射类型和自定义映射类型。

   1、内置映射类型

   Hibernate对所有的Java原生类型、常用的Java类型如String、Date等都定义了内置的映射类型。表2列出了Hibernate映射类型、对应的Java类型以及对应的标准SQL类型。

   表2 Hibernate内置映射类型

Hibernate映射类型 Java类型 标准SQL类型 大小
integer/int java.lang.Integer/int INTEGER 4字节
long java.lang.Long/long BIGINT 8字节
short java.lang.Short/short SMALLINT 2字节
byte java.lang.Byte/byte TINYINT 1字节
float java.lang.Float/float FLOAT 4字节
double java.lang.Double/double DOUBLE 8字节
big_decimal java.math.BigDecimal NUMERIC ?
character java.lang.Character/
java.lang.String/char
CHAR(1) 定长字符
string java.lang.String VARCHAR 变长字符
boolean/ yes_no/true_false java.lang.Boolean/Boolean BIT 布尔类型
date java.util.Date/
java.sql.Date
DATE 日期
timestamp java.util.Date/
java.util.Timestamp
TIMESTAMP 日期
calendar java.util.Calendar TIMESTAMP 日期
calendar_date java.util.Calendar DATE 日期
binary byte[] BLOB
BLOB
text java.lang.String TEXT CLOB
serializable 实现java.io.
Serializablej接口
的任意Java类
BLOB BLOB
clob java.sql.Clob CLOB CLOB
blob java.sql.Blob BLOB BLOB
class java.lang.Class VARCHAR 定长字符
locale java.util.Locale VARCHAR 定长字符
timezone java.util.TimeZone VARCHAR 定长字符
currency java.util.Currency VARCHAR 定长字符

你可能感兴趣的:(深入浅出Hibernate)