《妙解Hibernate3.x》读书笔记三-配置文件和映射文件的补充
我们在做项目过程中,使用了辅助工具Hibernate Tools,从而不用手写配置文件,只需自己创建数据库即可。所以稍微做下介绍。
在映射文件中,都指出了类的属性类型,以便于与数据库中的数据类型对应。一般都使用Hibernate的中间类型,让hibernate进行自我转换,有-byte,boolean,yes_no,date,time,string,text,clob,blob等。也可以自己直接指定java数据类型。
主键的生成方式
上篇笔记使用的主键生成方式为 <generator class="identity" />,还有以下方式:
native-根据数据库类别,使用数据库原生的主键生成方式,如mysql的auto_increment。
assigned-主键的生成由应用程序生成和赋值。
identity-使用数据库的自增方式。
sequence-适用于oracle,使用数据库的sequence方式。
increment-hibernate使用一个表来存储主键,当有新纪录产生时,该表内的主键值就会递增。
hilo-hibernate使用high/low算法来生成主键,hibernate维护一个默认名为hibernate_unique_key的表,用来生成主键。
还有seqhilo/uuid.hex/guid/select。
Oracle使用较多,说下sequence:
package解释
<hibernate-mapping package="test.package">中的package属性值为包名,用于声明该配置文件用到的类均属于此包。<class>中name值无需写出包名。
mutable解释
<class name="xxx" mutable="false">,当类实例不能改动时,用这样的配置强制其为只读。
系统配置文件(cfg.xml)