父母有孩子的一览。数据库中的孩子的单一记录。但是在调试时它会显示2个具有相同ID的记录

时间:2014-04-14 04:39:16

标签: mysql hibernate spring-mvc jpa hibernate-mapping

我有一个父实体ParentClass。在这个父实体中,我有一个子类列表,如下所示: -

public class BaseClass{
   @Id
   private Long  id;
}

@Entity
public class ParentClass extends BaseClass{

   @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
   private List<ChildClassA> childClassAList;

   @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
   private List<ChildClassB> childClassBList;

}

在我的数据库中,我只有一条映射到ParentClass的ChildClassA记录(假设我的parent_class记录的id为25001,并且在我的第三个表中它们只是一个映射到此父[来自ChildClassA实体]的子项,例如45001)。但是当我调试parentClass.getchildClassAList()时,它显示了这个列表中的2个项目(并且它们都具有相同的ID)而不是一个单独的记录,如下所示: -

ParentClass parentRecord = myDao.find(ParentClass.class,25001L); //shows only one record which is expected.

List<ChildClassA> allChildsOfParent = parentRecord.getchildClassAList();  //shows 2 items in list,each with same id 45001 even though the third table in db carries one single record corresponding to this parent with id 25001.

这个问题的可能原因是什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试将{而不是列表用于@OneToMany关系容器