在 Hibernate 上比较同一实体的延迟加载对象的最佳方法是什么?
//instanceC and instanceD are different objects of different classes
instanceC.getA().equals(instanceD.getA()) // false
instanceC.getA().getId() == insttanceD.getA().getId() // false!
所以我最后要做的是:
int idA=instanceC.getA().getId();
int idB=instanceD.getA().getId();
a==b // true
当然,它看起来非常弯曲。所以我最后决定是重写该equals()
方法并隐藏这个烂摊子。
有没有更好(或正确)的解决方案?
注意:我检查了堆栈溢出问题Lazy-loaded NHibernate properties in Equals 和 GetHashCode等等。我不是要求解决方法。我想提出这个问题,以便提出更好或更准确的解决方案(如果存在)。