xworker.db.hibernate.hibernate-mapping-nodes.class/@discriminator
事物 discriminator(discriminator)点击打开事物点击浏览描述

父事物:
class
描述者:
事物
thing
继承:
discriminator

在"一棵对象继承树对应一个表"的策略中,<discriminator>元素是必需的, 它定义了表的鉴别器字段。鉴别器字段包含标志值,用于告知持久化层应该为某个特定的行创建哪一个子类的实例。 如下这些受到限制的类型可以使用: string, character, integer, byte, short, boolean, yes_no, true_false.

鉴别器字段的实际值是根据<class><subclass>元素中 的discriminator-value属性得来的。

字段摘要
           String column
           鉴别器字段的名字
           String force
           "强制"Hibernate指定允许的鉴别器值,就算取得的所有实例都是根类的。
           String formula
           一个SQL表达式,在类型判断(判断是父类还是具体子类-译注)时执行。可用于基于内容的鉴别器。
           String insert
           如果你的鉴别器字段也是映射为复合标识(composite identifier)的一部分,则需将 这个值设为false。(告诉Hibernate在做SQL INSERT 时不包含该列)
           String length
           
           String not-null
           
           String type
           一个Hibernate字段类型的名字
 
方法摘要
 
子事物摘要
           column
          
           formula
          
 
字段详细信息

column点击打开事物

鉴别器字段的名字

force点击打开事物

"强制"Hibernate指定允许的鉴别器值,就算取得的所有实例都是根类的。

formula点击打开事物

一个SQL表达式,在类型判断(判断是父类还是具体子类-译注)时执行。可用于基于内容的鉴别器。

使用formula属性你可以定义一个SQL表达式,用来判断一个行数据的类型。

<discriminator
    formula="case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end"
    type="integer"/>

insert点击打开事物

如果你的鉴别器字段也是映射为复合标识(composite identifier)的一部分,则需将 这个值设为false。(告诉Hibernate在做SQL INSERT 时不包含该列)

force属性仅仅是在表包含一些未指定应该映射到哪个持久化类的时候才是有用的。 这种情况不会经常遇到。

length点击打开事物


not-null点击打开事物


type点击打开事物

一个Hibernate字段类型的名字

 
方法详细信息
 
子事物详细信息

column点击打开事物


formula点击打开事物