Это мой сеанс
String query = "from Authority";
session = sessionFactory.openSession();
List<Authority> authorities= session.createQuery(query).getResultList();
session.close();
for(Authority a: authorities){
System.out.println(a.getEmail());
}
Это мой класс пользователя:
@Entity
@Table(name = "users")
public class User {
@Id
@NotBlank
@Size(max = 100)
@Email
@Column
private String email;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user", orphanRemoval = true)
private Set<Authority> authorities = new HashSet<>();
Это мой класс полномочий:
@Entity
@Table(name = "authorities")
public class Authority {
@Id
@Column
private String authority;
@ManyToOne
@JoinColumn(name = "email")
private User user;
Как я хочуотображая мои результаты, я получаю первую строку в каждой итерации «за».У вас есть идеи, почему это происходит?
Допустим, что в моей базе данных есть строки, такие как:
email1@server.com ROLE_USER
email2@server.com ROLE_USER
email3@server.com ROLE_USER
email4@server.com ROLE_USER
В результате это "for" выглядит так:
email1@server.com
email1@server.com
email1@server.com
email1@server.com