Java SpringDataJPA:findOne和findById之间有什么区别?

Java SpringDataJPA:findOne和findById之间有什么区别?,java,mysql,spring,hibernate,jpa,Java,Mysql,Spring,Hibernate,Jpa,不幸的是,我找不到我问题的答案。当我使用方法findOne(ID)获取错误数据时,会出现此问题 我的项目包含三个实体,每个实体都包含JPA单向关联@OneToMany 示例:A类(包含B类列表)->B类(包含C类列表)->C类 方法findOne(ID ID)返回列表中与类A相关的类B的副本。与前面的方法不同,findById(long ID)返回正确数量的相关实体。 经过一些研究,我发现findOne(ID-ID)在sql查询中使用左外连接 我想了解,findOne(ID)方法中存在问题,或者

不幸的是,我找不到我问题的答案。当我使用方法
findOne(ID)
获取错误数据时,会出现此问题

我的项目包含三个实体,每个实体都包含JPA单向关联
@OneToMany

示例:A类(包含B类列表)->B类(包含C类列表)->C类

方法
findOne(ID ID)
返回列表中与类A相关的类B的副本。与前面的方法不同,
findById(long ID)
返回正确数量的相关实体。 经过一些研究,我发现
findOne(ID-ID)
在sql查询中使用
左外连接

我想了解,
findOne(ID)
方法中存在问题,或者它工作正常


环境:Spring数据JPA 1.8.0.RELEASE、Hibernate 4.3.8.Final、MySQL

正如您创建的记录单中所述,您看到的症状与
findOne(…)
完全无关。关联是否返回重复项完全取决于持久性提供程序和关联映射。我遇到了相同的问题。另一篇帖子上的回答有助于理解发生了什么以及为什么会发生。这种行为的后果是对一对多关系使用集合,而不是列表,对吗@OliverGierke?