什么是hibernate对象的标识符

时间:2014-01-06 19:05:57

标签: hibernate java-ee

我正在经历各种hibernate方法,比如

persist()
save()
update()
merge()

所有谈论一个返回标识符的差异,其他返回不。

有谁能告诉我他们在说什么标识符?

有什么用?

我确定这不是主键。

1 个答案:

答案 0 :(得分:1)

标识符是指<id>文件或.hbm注释中@Id元素的属性 name

使用@Id标记标识符属性。

@Entity
public class Person {
   @Id Integer getId() { ... }
   ...
}  

hbm.xml中,使用<id>元素定义从该属性到主键列的映射。

<id
    name="propertyName"                                
    type="typename"                                    
    column="column_name"                               
    unsaved-value="null|any|none|undefined|id_value"   
    access="field|property|ClassName">                 
    node="element-name|@attribute-name|element/@attribute|."

    <generator class="generatorClass"/>
</id>  
  • name(可选):标识符属性的名称。
  • type(可选):表示Hibernate类型的名称。
  • 列(可选 - 默认为属性名称):主键列的名称。
  • unsaved-value(可选 - 默认为“敏感”值):标识符属性值,指示实例是新实例化的(未保存),将其与在先前会话中保存或加载的分离实例区分开来。
  • access(可选 - 默认为property):Hibernate用于访问属性值的策略。

相关链接