Bonjour,
J'ai 3 entités User, Group et Role,
c'est une relation manyToMany entre chaque
voici le code
1 2 3 4 5 6 7 8 9
| public class User{
...
@ManyToMany
@JoinTable(name = "usr_rel_users_groups",
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "group_id", referencedColumnName = "id"))
private Set<Group> groups = new HashSet<Group>();
...
} |
1 2 3 4 5 6 7 8 9 10 11 12
| public class Group {
...
@ManyToMany
@JoinTable (name = "usr_rel_groups_roles",
joinColumns = @JoinColumn(name = "group_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
private Set<Role> roles = new HashSet<Role>();
@ManyToMany(mappedBy = "groups")
private Set<User> users = new HashSet<User>();
...
} |
1 2 3 4 5 6
| public class Role {
...
@ManyToMany(mappedBy = "roles")
private Set<Group> groups = new HashSet<Group>();
...
} |
J'ai une namedQuery qui utilise les 3 entités,
1 2
| @NamedQuery(name="findUsersByRole",
query="SELECT user FROM User user JOIN user.groups group JOIN group.roles role WHERE role.name = :roleName") |
mais quand je démare le serveur il me dit
Errors in named queries: findUsersByRole
mais le stackTrace ne contient pas assez d'info que pour avoir une idée d'où vient l'erreur
Est-ce que vous avez une idée de l'erreur?
Partager