在"一棵对象继承树对应一个表"的策略中,<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
|
字段详细信息 |
---|
<discriminator formula="case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end" type="integer"/>
方法详细信息 |
---|
子事物详细信息 |
---|