@Entity @Table(name = "Users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String username; @ManyToMany private Set<Role> roles = new HashSet<>(); } @Entity public class Role { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String rolename; @ManyToMany(mappedBy = "roles") private Set<User> users = new HashSet<>(); }
CREATE TABLE Users_ROLE (roles_ID INTEGER NOT NULL, users_ID INTEGER NOT NULL, PRIMARY KEY (roles_ID, users_ID));
CREATE TABLE Users_ROLE (users_ID INTEGER NOT NULL, roles_ID INTEGER NOT NULL, PRIMARY KEY (users_ID, roles_ID));