浅谈Hibernate outer-join参数

开发 后端
这里介绍Hibernate outer-join参数(可选)指定这个集合,只要可能,应该通过外连接(outer join)取得。在每一个SQL语句中, 只能有一个集合可以被通过外连接抓取。

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate outer-join参数,包括介绍many-to-one节点有以下属性等方面。

set节点有以下属性(摘自Hibernate文档):


(1) name 集合属性的名称
(2) table(可选??默认为属性的名称)这个集合表的名称(不能在一对多的关联关系中使用)
(3) schema (可选) 表的schema的名称, 他将覆盖在根元素中定义的schema
(4) lazy (可选??默认为false) lazy(可选--默认为false) 允许延迟加载(lazy initialization )(不能在数组中使用)
(5) inverse (可选??默认为false) 标记这个集合作为双向关联关系中的方向一端。
(6) cascade (可选??默认为none) 让操作级联到子实体
(7) sort(可选)指定集合的排序顺序, 其可以为自然的(natural)或者给定一个用来比较的类。
(8) order-by (可选, 仅用于jdk1.4) 指定表的字段(一个或几个)再加上asc或者desc(可选), 定义Map,Set和Bag的迭代顺序
(9) where (可选) 指定任意的SQL where条件, 该条件将在重新载入或者删除这个集合时使用(当集合中的数据仅仅是所有可用数据的一个子集时这个条件非常有用)
(10) Hibernate outer-join参数(可选)指定这个集合,只要可能,应该通过外连接(outer join)取得。在每一个SQL语句中, 只能有一个集合可以被通过外连接抓取。
(11) batch-size (可选, 默认为1) 指定通过延迟加载取得集合实例的批处理块大小("batch size")。
(12) access(可选-默认为属性property):Hibernate取得属性值时使用的策略。

many-to-one节点有以下属性(摘自Hibernate文档):


(1) name: 属性名。
(2) column (可选): 字段名。
(3) class (可选 - 默认是通过反射得到属性类型): 关联的类的名字。
(4) cascade(级联) (可选): 指明哪些操作会从父对象级联到关联的对象。
(5) Hibernate outer-join参数(外连接) (可选 - 默认为 自动): 当设置hibernate.use_outer_join的时候,对这个关联允许外连接抓取。
(6) update, insert (可选 - defaults to true) 指定对应的字段是否在用于UPDATE 和/或 INSERT的SQL语句中包含。如果二者都是 false,则这是一个纯粹的“外源性(derived)”关联,它的值是通过映射到同一个(或多个)字段的某些其他属性得到的,或者通过 trigger(除法器),或者是其他程序。
(7) property-ref: (可选) 指定关联类的一个属性,这个属性将会和本外键相对应。如果没有指定,会使用对方关联类的主键。
(8) access(可选 - 默认是 property): Hibernate用来访问属性的策略。

cascade属性允许下列值: all, save-update, delete, none。设置除了none以外的其它值会传播特定的操作到关联的(子)对象中。参见后面的“Lifecycle Objects(自动管理生命周期的对象)”。

Hibernate outer-join参数允许下列三个不同值
◆auto:(默认) 使用外连接抓取关联(对象),如果被关联的对象没有代理(proxy)
◆true:一直使用外连接来抓取关联
◆false:永远不使用外连接来抓取关联 

【编辑推荐】

  1. 描述Hibernate持久性类
  2. 分析Java应用程序和Hibernate
  3. Hibernate3和JBOSS 3.2强强联手
  4. 详解Hibernate.properties文件
  5. 浅谈定制Hibernate映射
责任编辑:佚名 来源: IT168
相关推荐

2009-09-23 17:07:31

Hibernate C

2009-09-21 13:05:18

Hibernate u

2009-09-28 15:47:59

Hibernate O

2009-09-29 10:46:58

Hibernate领域

2009-09-22 10:09:21

Hibernate S

2009-09-25 10:53:40

Hibernate S

2009-09-28 13:43:28

使用Hibernate

2009-09-22 13:41:10

直接使用Hiberna

2009-09-28 13:39:01

Hibernate工作

2009-09-27 10:02:29

定制Hibernate

2009-09-29 16:16:58

Hibernate H

2009-09-21 17:17:11

Hibernate二级

2009-09-29 15:52:26

Hibernate X

2017-08-04 11:41:53

Javathreadpool框架

2017-08-07 20:50:27

JavaForkJoin

2009-09-23 14:40:17

Hibernate F

2009-06-10 09:58:32

Oracle sequHibernate

2009-02-11 09:37:32

Hibernate分页技术JSP

2009-09-25 09:21:27

Hibernate元数

2009-03-06 14:34:31

StrutsHibernateSpring
点赞
收藏

51CTO技术栈公众号