Spring Data JDBC中子实体的相等性判断相关问题咨询
Spring Data JDBC中子实体的相等性判断相关问题咨询
各位好,最近我在学习Spring Data JDBC,跟着教程做了一个带聚合关系的示例:核心是Movie聚合根,它和Rental实体是一对多的关联。不过这个Rental子实体的设计有点特殊,我整理了关键信息:
Rental实体没有标注@Id注解的字段- 我也没给它实现
equals()和hashCode()方法 - 对应的数据库
rental表有一个自增id字段,但这个字段并没有映射到Rental实体里,表中通过隐式的movie_id外键和Movie表关联
现在我有几个困惑想请教大家:
- 这种没有主键、也没自定义相等性判断逻辑的情况下,Spring Data JDBC是怎么识别两个
Rental子实体是否相等的? - 如果后续我要对
Movie下的Rental集合做增删改操作,这种设计会不会导致Spring Data JDBC无法正确识别子实体的变化,进而出现数据操作错误? - 针对这种子实体的设计场景,有没有推荐的最佳实践?比如是否应该给
Rental补全equals()和hashCode(),或者要不要把数据库里的自增id映射到实体中?
备注:内容来源于stack exchange,提问作者theNikki1
相关产品推荐
相关产品推荐

