manytomany.pptx
- 1. CREATE TABLE T_Users (
idUser int PRIMARY KEY AUTO_INCREMENT,
login varchar(20) NOT NULL,
password varchar(20) NOT NULL,
connectionNumber int NOT NULL DEFAULT 0
);
CREATE TABLE T_Roles (
idRole int PRIMARY KEY AUTO_INCREMENT,
roleName varchar(20) NOT NULL
);
CREATE TABLE T_Users_Roles_Associations (
idUser int NOT NULL REFERENCES T_Users(idUser),
idRole int NOT NULL REFERENCES T_Roles(idRole)
);
- 2. @Entity @Table(name="T_Users")
public class User {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private int idUser;
private String login;
private String password;
private int connectionNumber;
@ManyToMany @JoinTable( name = "T_Users_Roles_Associations", joinColumns =
@JoinColumn( name = "idUser" ), inverseJoinColumns = @JoinColumn( name = "idRole"
) )
private List<Role> roles = new ArrayList<>();
//constructeur
//getters et setters
}
- 3. @Entity @Table(name="T_Roles")
public class Role {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private int idRole;
private String roleName;
@ManyToMany @JoinTable( name = "T_Users_Roles_Associations", joinColumns =
@JoinColumn( name = "idRole" ), inverseJoinColumns = @JoinColumn( name =
"idUser" ) )
private List<User> users = new ArrayList<>();
//constructeur
//getters et setters
}