字段摘要 | |
---|---|
String |
access
Hibernate用来访问属性值的策略。 |
String |
column
对应的数据库字段名。 也可以通过嵌套的<column>元素指定。 |
String |
formula
一个SQL表达式,定义了这个计算 (computed) 属性的值。计算属性没有和它对应的数据库字段。 |
String |
generated
Specifies that this property value is actually generated by the database. |
String |
index
|
String |
insert
表明用于UPDATE 和/或 INSERT 的SQL语句中是否包含这个被映射了的字段。这二者如果都设置为false 则表明这是一个“外源性(derived)”的属性,它的值来源于映射到同一个(或多个) 字段的某些其他属性,或者通过一个trigger(触发器)或其他程序。 |
String |
lazy
指定实例变量第一次被访问时,这个属性是否延迟抓取(fetched lazily)( 需要运行时字节码增强)。 |
String |
length
|
String |
name
属性的名字,以小写字母开头。 |
String |
node
|
String |
not-null
使用DDL为该字段添加可否为空(nullability)的约束。 |
String |
optimistic-lock
指定这个属性在做更新时是否需要获得乐观锁定(optimistic lock)。 换句话说,它决定这个属性发生脏数据时版本(version)的值是否增长。 |
String |
precision
|
String |
scale
|
String |
type
一个Hibernate类型的名字。 |
String |
unique
使用DDL为该字段添加唯一的约束。 此外,这也可以用作property-ref的目标属性。 |
String |
unique-key
|
String |
update
表明用于UPDATE 和/或 INSERT 的SQL语句中是否包含这个被映射了的字段。这二者如果都设置为false 则表明这是一个“外源性(derived)”的属性,它的值来源于映射到同一个(或多个) 字段的某些其他属性,或者通过一个trigger(触发器)或其他程序。 |
方法摘要 |
---|
子事物摘要 | |
---|---|
|
column
|
|
formula
|
|
meta
|
|
type
|
字段详细信息 |
---|
对应的数据库字段名。 也可以通过嵌套的<column>元素指定。
<property name="totalPrice" formula="( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p WHERE li.productId = p.productId AND li.customerId = customerId AND li.orderNumber = orderNumber )"/>
注意,你可以使用实体自己的表,而不用为这个特别的列定义别名( 上面例子中的customerId)。同时注意,如果你不喜欢使用属性, 你可以使用嵌套的<formula>映射元素。
typename可以是如下几种:
Hibernate基础类型之一(比如:integer, string, character,date, timestamp, float, binary, serializable, object, blob)。
一个Java类的名字,这个类属于一种默认基础类型 (比如: int, float,char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob)。
一个可以序列化的Java类的名字。
一个自定义类型的类的名字。(比如: com.illflow.type.MyCustomType)。
如果你没有指定类型,Hibernarte会使用反射来得到这个名字的属性,以此来猜测正确的Hibernate类型。 Hibernate会按照规则2,3,4的顺序对属性读取器(getter方法)的返回类进行解释。然而,这还不够。 在某些情况下你仍然需要type属性。(比如,为了区别Hibernate.DATE 和Hibernate.TIMESTAMP,或者为了指定一个自定义类型。)
方法详细信息 |
---|
子事物详细信息 |
---|