如果我有一个包含A,B,C,D列的表
:自动生成的id(PK)
B&C:组合必须是唯一的(这些是在商业意义上实际定义身份的列)
D:其他一些列
现在,如果我将基于此表创建业务对象(例如,在Java中),哪一个将是equals()方法的更好实现:
或者,我选择哪两个并不重要.
Sea*_*oyd 21
肯定是B和C,因为你希望equals()合约在实体持久化之前是有效的.你说自己:
这些是在商业意义上实际定义身份的列
如果是这种情况,那就是逻辑equals()应该使用的.数据库密钥是数据库的关注点,应该与业务层无关.
并且不要忘记使用相同的属性hashcode().
| 归档时间: |
|
| 查看次数: |
4406 次 |
| 最近记录: |