Java语言按内存地址来识别或区分同一个类的不同对象,而关系数据库按主键值来识别或区分同一个表的不同记录。Hibernate使用OID来统一两者之间的矛盾,OID是关系数据库中的主键(通常为代理主键)在Java对象模型中的等价物。
在运行时,Hibernate根据OID来维持Java对象和数据库表中记录的对应关系。例如:
Transaction tx = session.beginTransaction();
Customer c1=session.get(Customer.class, Long.valueOf(1));
Customer c2=session.get(Customer.class, Long.valueOf