关系型数据库中区分不同记录。
数据库中用主键来标识唯一性记录。
主键必须满足的条件:
不允许null;
每条记录必须有唯一的主键值,主键值不能重复;
每条记录的主键值不能改变。
主键分类:
业务(自然)主键:具有实际意义;
代理主键:没有实际意义。
Java程序中区分不同对象。
Java语言中通过内存地址区分不同对象;
两种比较引用变量方法;
“==” 比较两个变量引用的内存地址是否相同;
equals 比较两个变量引用的对象的值是否相同。
用户自定义的类也可以覆盖Object的equals方法实现对象按值进行比较。
Hibernate 采用对象标识符(OID)区分对象。
OID 是关系数据库表中的主键(通常是代理主键)在 Java 对象模型中的等价物;
Hibernate 采用 OID 来维持Java持久化类和数据库表中对应关系;
Object Identifier。
OID 与表中代理主键对应,OID 也是整数类型,Hibernate 允许在持久化类中把OID定义为以下三种类型:
Short
Integer