Do you get the same problem if you make one of the sides of your bidirectional assocation the owning side of the association using the mappedBy
attribute (that you should use anyway)? Like this:
@Entity public class Group {
...
@ManyToMany(fetch = FetchType.EAGER, mappedBy="groups")
List<User> users;
}
@Entity public class User {
...
@ManyToMany(fetch = FetchType.EAGER)
List<Group> groups;
}
Update: I can't find any evidence that using EAGER
fetching on both sides of a bidirectional association is forbidden and AFAIK, there is no mention of such a restriction in the Hibernate documentation and / or the JPA specification.
Actually, according to this comment from Emmanuel Bernard to a (somehow similar) issue:
LAZY
or EAGER
should be orthogonal to an infinite loop issue in the codebase. Hibernate knows how to handle cyclic graphs
For me, the above is pretty clear, Hibernate should be able to handle your mapping (as I mentioned in a comment) and I would be tempted to consider any contradictory behavior as a bug.
If you can provide a test case allowing to reproduce the problem, my suggestion would be to open an issue.