Hibernate学习笔记.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:5 大小:89KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Hibernate学习笔记.doc

Hibernate学习笔记.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Hibernate常用的标识生成器(OID对象标识符)表示生成器名称描述assignedOID由业务逻辑程序负责产生,Hibernate只是负责持久化,常用于映射自然主键hiloOID由Hibernate按照high/low算法产生,该算法需要从数据库的某个表的字段中读取high值incrementOID由Hibernate依递增方式产生,该算法依赖保存于当前应用实例中的一个最大值变量,当有多个应用实例需要访问数据库时难免出现重复的主键,应当谨慎使用identityOID由底层数据库的自增主键生成机制产生,如MySWL的auto_increment类型主键与SQLSERVER的identity类型主键sequenceOID由底层数据库的sequence主键生成机制产生,如Oraclesequencenative根据底层数据库对自动生成OID能力的支持,具体选择identity、sequence、或hilo生成器来产生OID,常用于跨平台应用在选用这些Hibernate内置的标志生成器时,应根据所选用的数据库产品而定。如果数据库产品为MySQL或者SQLServer,则优先考虑identity生成器,如果是Oracle则可考虑sequence生成器,如果想提高应用的可移植性,开发跨平台的应用则选择native生成器例如:MYSQL、Sybase、DB2或SQLSERVER数据库的主键映射:....<idname="id"column="ID"type="integer"><generatorclass="identity"/></id>DB2、Oracle、PostgreSQL、Interbase、McKoi或SAPDB数据库的主键映射:....<idname="id"column="ID"type="integer"><generatorclass="sequence"><paramname="sequence">Uid_sequence</param></generator></id>跨平台应用中的主键映射:....<idname="id"column="ID"type="integer"><generatorclass="native"/></id>复合自然主键的映射:......<composite-id><key-propertyname="userName"column="_userName"type="String"/><key-propertyname="psw"column="_psw"type="String"/></composite-id>一对一共享主键:(Login类的持久化映射文件主控类)<idname="id"column="ID"type="integer"><generatorclass="foregin"><paramname="property">company</param><!--这里面的property属性指定的值就是对应的另外一个表的主键属性--></generator></id><!--name指定属性的名称class指定被关联的类名contrained表名当前表的主键上存在一个外键约束--><one-to-onename="company"class="com.ORM.Company"constrained="true">(company类的持久化映射文件关联类)<idname="id"column="ID"type="integer"><generatorclass="identity"/></id><!--cascade指定为all时表示主控类的所有操作,关联类也执行相同的操作--><one-to-onename="login"class="com.ROM.Login"cascade="all"lasy="false"/>一对一唯一外键:所谓唯一外键方式就是一个表的外键和另一个表的唯一主键对应形成一对一映射关系,这种一对一的关系其实就是多对一关联关系的一种特殊情况。(Client类的持久化映射文件主控类)<idname="id"column="ID"type="integer"><generatorclass="identity"/></id><!--column充当外键关联的字段名unique唯一性约束,实现一对一关联的目的--><many-to-onename="address"class="com.ORM.Address"column="address"lazy="false"Cascade="all"unique="true"/>(Address类的持久化映射