4.1.2. 提供一个标识属性(identifier property)(可选)

Cat有一个属性叫做id。这个属性映射数据库表的主 键字段。这个属性可以叫任何名字,其类型可以是任何的原始类型、原始类型的包装类型、 java.lang.String 或者是 java.util.Date。 (如果你的遗留数据库表有联合主键,你甚至可以用一个用户自定义的类,该类拥有这些类型 的属性。参见后面的关于联合标识符的章节。)

标识符属性是可选的。可以不用管它,让Hibernate内部来追踪对象的识别。 但是我们并不推荐这样做。

实际上,一些功能只对那些声明了标识符属性的类起作用:

  • 托管对象的传播性再连接(级联更新或级联合并) ——参阅 + 第 10.11 节 “传播性持久化(transitive persistence)”
  • Session.saveOrUpdate()

  • Session.merge()

我们建议你对持久化类声明命名一致的标识属性。我们还建议你使用一 个可以为空(也就是说,不是原始类型)的类型。