这个类的对象时会一直增加这个条件。(13) persister: 指定一个定制的ClassPersister。(14) batch-size(默认是1) 指定一个用于根据标识符(identifier)抓取实例时使用的"batch size"(批次抓取数量)。(15) optimistic-lock(乐观锁定,默认是version): 决定乐观锁定的策略。(16) lazy: 通过设置lazy="false", 所有的延迟加载(Lazy fetching)功能将被全部禁用(disabled)。(17) entity-name(默认为类名): Hibernate3允许一个类进行多次映射(前提是映射到不同的表),并且允许使用Maps或XML代替Java层次的实体映射(也就是实现动态领域模型,不用写持久化类-译注)。(18) check: 这是一个SQL表达式,用于为自动生成的schema添加多行(multi-row)约束检查。(19) rowid: Hibernate可以使用数据库支持的所谓的ROWIDs,例如: Oracle数据库,如果你设置这个可选的rowid, Hibernate可以使用额外的字段rowid实现快速更新。ROWID是这个功能实现的重点,它代表了一个存储元组(tuple)的物理位置。(20) subselect: 它将一个不可变(immutable)并且只读的实体映射到一个数据库的子
查询中。当你想用视图代替一张基本表的时候,这是有用的,但最好不要这样做。更多的介绍请看下面内容。(21) abstract: 用于在<union-subclass>的继承结构(hierarchies)中标识抽象超类。 3、<id><id[name="propertyName"][type="typename"][column="column_name"][unsaved-value="null|any|none|undefined|id_value"][access="field|property|ClassName"][length="L"]><generator class="generatorClass"/></id>作用:定义主键字段的映射属性说明:(1) name: 标识属性的名字。(2) type: 标识Hibernate类型的名字。(如果没配置,hibernate将会自动转化成相应的数据库类型)(3) column(默认为属性名): 主键字段的名字。(4) unsaved-value(默认为一个切合实际(sensible)的值): 一个特定的标识属性值,用来标志该实例是刚刚创建的,尚未保存。这可以把这种实例和从以前的session中装载过(可能又做过修改--译者注)但未再次持久化的实例区分开来。(5) access(默认为property): Hibernate用来访问属性值的策略。(6) length:指定长度 4、<generator> 主键生成器作用:用来为该持久化类的实例生成唯一的标识。如果这个生成器实例需要某些配置值或者初始化参数,用<param>元素来传递。<id name="id" type="long" column="cat_id"> <generator class="org.hibernate.id.TableHiLoGenerator"> <param name="table">uid_table</param> <param name="column">next_hi_value_column</param> </generator></id>下面是一些内置生成器的快捷名字:下面是一些内置生成器的快捷名字:(1) increment:用于为long, short或者int类型生成唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。在集群下不要使用。(2) identity:对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。返回的标识符是long, short 或者int类型的。(3) sequence:在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence),而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。(4) hilo:使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和字段(默认分别是 hibernate_unique_key 和next_hi)作为高位