^1640764605627
@
sname
subclass
slabel
subclass
sdescriptors
xworker.lang.MetaDescriptor3
smany
true
seditCols
2
sinitialization
false
sdescription
最后，多态持久化需要为父类的每个子类都进行定义。对于&ldquo;每一棵类继承树对应一个表&rdquo;的策略来说，就需要使用<tt class="literal"><font face="新宋体">&lt;subclass&gt;</font></tt>定义。<br /><br />每个子类都应该定义它自己的持久化属性和子类。 <tt class="literal"><font face="新宋体">&lt;version&gt;</font></tt> 和<tt class="literal"><font face="新宋体">&lt;id&gt;</font></tt> 属性可以从根父类继承下来。在一棵继承树上的每个子类都必须定义一个唯一的<tt class="literal"><font face="新宋体">discriminator-value</font></tt>。如果没有指定，就会使用Java类的全限定名。<br /><br />可以在单独的映射文件中，直接在<tt class="literal"><font face="新宋体">hibernate-mapping</font></tt>下定义<tt class="literal"><font face="新宋体">subclass</font></tt>，<tt class="literal"><font face="新宋体">union-subclass</font></tt>和<tt class="literal"><font face="新宋体">joined-subclass</font></tt>映射。这样你只要增加一个新的映射文件就可以继承一棵类继承树。你必须在子类的映射中指定<tt class="literal"><font face="新宋体">extends</font></tt> 属性来指定已映射的超类。注意：以前，这个特性使得映射文件的顺序变得很重要。从Hibernate3开始，当使用extends关键字的时候，映射文件的次序便不重要了。而在单一映射文件中，依旧需要保持将超类定义在子类之前这样的次序
sid
subclass
  @/@name
  sname
  name
  slabel
  name
  sdescription
  子类的全限定名。
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  name
  @/@select-before-update
  sname
  select-before-update
  slabel
  select-before-update
  sinputtype
  select
  sdefault
  false
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  select-before-update
    @/@select-before-update/@true
    sname
    true
    slabel
    true
    svalue
    true
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    true
    @/@select-before-update/@false
    sname
    false
    slabel
    false
    svalue
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    false
  @/@lazy
  sname
  lazy
  slabel
  lazy
  sinputtype
  select
  sdescription
  设置为 <tt class="literal"><font face="新宋体">lazy=&quot;false&quot;</font></tt> 禁止使用延迟抓取
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  lazy
    @/@lazy/@true
    sname
    true
    slabel
    true
    svalue
    true
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    true
    @/@lazy/@false
    sname
    false
    slabel
    false
    svalue
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    false
  @/@node
  sname
  node
  slabel
  node
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  node
  @/@entity-name
  sname
  entity-name
  slabel
  entity-name
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  entity-name
  @/@extends
  sname
  extends
  slabel
  extends
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  extends
  @/@dynamic-insert
  sname
  dynamic-insert
  slabel
  dynamic-insert
  sinputtype
  select
  sdefault
  false
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  dynamic-insert
    @/@dynamic-insert/@true
    sname
    true
    slabel
    true
    svalue
    true
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    true
    @/@dynamic-insert/@false
    sname
    false
    slabel
    false
    svalue
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    false
  @/@persister
  sname
  persister
  slabel
  persister
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  persister
  @/@proxy
  sname
  proxy
  slabel
  proxy
  sdescription
  指定一个类或者接口，在延迟装载时作为代理使用。
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  proxy
  @/@discriminator-value
  sname
  discriminator-value
  slabel
  discriminator-value
  sdescription
  一个用于区分每个独立的子类的值。
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  discriminator-value
  @/@abstract
  sname
  abstract
  slabel
  abstract
  sinputtype
  select
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  abstract
    @/@abstract/@true
    sname
    true
    slabel
    true
    svalue
    true
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    true
    @/@abstract/@false
    sname
    false
    slabel
    false
    svalue
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    false
  @/@dynamic-update
  sname
  dynamic-update
  slabel
  dynamic-update
  sinputtype
  select
  sdefault
  false
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  dynamic-update
    @/@dynamic-update/@true
    sname
    true
    slabel
    true
    svalue
    true
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    true
    @/@dynamic-update/@false
    sname
    false
    slabel
    false
    svalue
    false
    sdescriptors
    xworker.lang.MetaDescriptor3/@attribute/@value
    sid
    false
  @/@batch-size
  sname
  batch-size
  slabel
  batch-size
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  batch-size
  @/@meta
  sname
  meta
  slabel
  meta
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.meta
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  meta
  @/@tuplizer
  sname
  tuplizer
  slabel
  tuplizer
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.tuplizer
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  tuplizer
  @/@synchronize
  sname
  synchronize
  slabel
  synchronize
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.synchronize
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  synchronize
  @/@property
  sname
  property
  slabel
  property
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.property
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  property
  @/@many-to-one
  sname
  many-to-one
  slabel
  many-to-one
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.many-to-one
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  many-to-one
  @/@one-to-one
  sname
  one-to-one
  slabel
  one-to-one
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.one-to-one
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  one-to-one
  @/@component
  sname
  component
  slabel
  component
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.component
  smany
  true
  seditCols
  2
  sinitialization
  false
  sdescription
  <font face="新宋体">&lt;component&gt;</font>元素把子对象的一些元素与父类对应的表的一些字段映射起来。 然后组件可以定义它们自己的属性、组件或者集合。参见后面的&ldquo;Components&rdquo;一章。
  sid
  component
  @/@dynamic-component
  sname
  dynamic-component
  slabel
  dynamic-component
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.dynamic-component
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  dynamic-component
  @/@any
  sname
  any
  slabel
  any
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.any
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  any
  @/@map
  sname
  map
  slabel
  map
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.map
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  map
  @/@set
  sname
  set
  slabel
  set
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.set
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  set
  @/@list
  sname
  list
  slabel
  list
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.list
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  list
  @/@bag
  sname
  bag
  slabel
  bag
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.bag
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  bag
  @/@idbag
  sname
  idbag
  slabel
  idbag
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.idbag
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  idbag
  @/@array
  sname
  array
  slabel
  array
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.array
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  array
  @/@primitive-array
  sname
  primitive-array
  slabel
  primitive-array
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.primitive-array
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  primitive-array
  @/@join
  sname
  join
  slabel
  join
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  dbhibernate:hibernate-mapping-nodes.join:
  smany
  true
  seditCols
  2
  sinitialization
  false
  sdescription
  使用<font face="新宋体">&lt;join&gt;</font> <tt class="literal"><font face="新宋体"><join></join></font></tt>元素，可以将一个类的属性映射到多张表中。<br /><br />此特性常常对遗留数据模型有用，我们推荐表个数比类个数少，以及细粒度的领域模型。然而，在单独的继承树上切换继承映射策略是有用的，后面会解释这点。
  sid
  join
  @/@subclass
  sname
  subclass
  slabel
  subclass
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.subclass
  smany
  true
  seditCols
  2
  sinitialization
  false
  sdescription
  最后，多态持久化需要为父类的每个子类都进行定义。对于&ldquo;每一棵类继承树对应一个表&rdquo;的策略来说，就需要使用<tt class="literal"><font face="新宋体">&lt;subclass&gt;</font></tt>定义。<br /><br />每个子类都应该定义它自己的持久化属性和子类。 <tt class="literal"><font face="新宋体">&lt;version&gt;</font></tt> 和<tt class="literal"><font face="新宋体">&lt;id&gt;</font></tt> 属性可以从根父类继承下来。在一棵继承树上的每个子类都必须定义一个唯一的<tt class="literal"><font face="新宋体">discriminator-value</font></tt>。如果没有指定，就会使用Java类的全限定名。<br /><br />可以在单独的映射文件中，直接在<tt class="literal"><font face="新宋体">hibernate-mapping</font></tt>下定义<tt class="literal"><font face="新宋体">subclass</font></tt>，<tt class="literal"><font face="新宋体">union-subclass</font></tt>和<tt class="literal"><font face="新宋体">joined-subclass</font></tt>映射。这样你只要增加一个新的映射文件就可以继承一棵类继承树。你必须在子类的映射中指定<tt class="literal"><font face="新宋体">extends</font></tt> 属性来指定已映射的超类。注意：以前，这个特性使得映射文件的顺序变得很重要。从Hibernate3开始，当使用extends关键字的时候，映射文件的次序便不重要了。而在单一映射文件中，依旧需要保持将超类定义在子类之前这样的次序
  sid
  subclass
  @/@loader
  sname
  loader
  slabel
  loader
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.loader
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  loader
  @/@sql-insert
  sname
  sql-insert
  slabel
  sql-insert
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.sql-insert
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  sql-insert
  @/@sql-update
  sname
  sql-update
  slabel
  sql-update
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.sql-update
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  sql-update
  @/@sql-delete
  sname
  sql-delete
  slabel
  sql-delete
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.sql-delete
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  sql-delete
  @/@resultset
  sname
  resultset
  slabel
  resultset
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.resultset
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  resultset
  @/@query
  sname
  query
  slabel
  query
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.query
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  query
  @/@sql-query
  sname
  sql-query
  slabel
  sql-query
  sdescriptors
  xworker.lang.MetaDescriptor3/@thing
  sextends
  xworker.hibernate.hibernate-mapping-nodes.sql-query
  smany
  true
  seditCols
  2
  sinitialization
  false
  sid
  sql-query
