Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hashset只返回两个元素_Java - Fatal编程技术网

Java hashset只返回两个元素

Java hashset只返回两个元素,java,Java,我正在尝试制作spring启动应用程序。我必须为每个用户接收一套日记日 因此,我有一个用户类,其中: @OneToMany(mappedBy = "users", fetch = FetchType.EAGER) @OnDelete(action = OnDeleteAction.CASCADE) private Set<DiaryDay> diaryDays = new HashSet<>(); 在DiaryDayPhysicasDao和diary

我正在尝试制作spring启动应用程序。我必须为每个用户接收一套日记日

因此,我有一个用户类,其中:

@OneToMany(mappedBy = "users", fetch = FetchType.EAGER)
@OnDelete(action = OnDeleteAction.CASCADE)
private Set<DiaryDay> diaryDays = new HashSet<>();
在DiaryDayPhysicasDao和diarydaymentalDAO中,我有接收每个用户的所有日记日的方法(它们类似,因此只有一个示例):

我在两个表中都添加了3个示例,但我仅从每个示例中获得了第一个示例:


在java
Set
中,根据
equals
hashCode
方法的实现方式,对象会给人一种排除值的印象。首先尝试使用
列表
,检查是否已加载所需的所有内容。如果是这种情况,请检查这些方法和数据中是否存在冲突。
 @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "users")
@OnDelete(action = OnDeleteAction.CASCADE)
private User users;
 public Set findByUserId(Long userId) {
    return (Set) getSession().createQuery("from DiaryDayMental where users.id =:userId").setParameter("userId", userId).stream().collect(Collectors.toSet());
}