Bonsoir j'ai une entité User et Role je voudrai insérer une liste des rôles pour un utilisateur à partir d'une liste je voudrai utiliser selectManyCheckbox voici les deux entités :
PS: je travaille avec seam et je suis nouveau dans le monde de JSF et Seam
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package org.domain.seam.entity;
 
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
 
 
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.security.management.UserRoles;
 
@Entity
@Name("user")
@Table(name = "User")
public class User implements Serializable {
 
	/**
         * 
         */
	private static final long serialVersionUID = -2133760147013842042L;
	private Long id;
	private String name;
	private String password;
	private String username;
	private Set<Role> roles = new HashSet<Role>();
 
	@Id
	@GeneratedValue
	public Long getId() {
		return id;
	}
 
	public void setId(Long id) {
		this.id = id;
	}
 
	@Length(max = 20)
	@NotNull
	public String getName() {
		return name;
	}
 
	public void setName(String name) {
		this.name = name;
	}
 
	@Length(max = 20)
	@NotNull
	public String getPassword() {
		return password;
	}
 
	public void setPassword(String password) {
		this.password = password;
	}
 
	@Length(max = 20)
	@NotNull
	public String getUsername() {
		return username;
	}
 
	public void setUsername(String username) {
		this.username = username;
	}
 
	@ManyToMany(targetEntity = Role.class)
	@UserRoles
	@JoinTable(name = "UsersRoles", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))
	public Set<Role> getRoles() {
		return roles;
	}
 
	public void setRoles(Set<Role> roles) {
		this.roles = roles;
	}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package org.domain.seam.entity;
 
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Table;
import org.hibernate.validator.Length;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.security.management.RoleName;
 
@Name("role")
@Entity
@Table(name = "Role")
public class Role implements Serializable {
	/**
         * 
         */
	private static final long serialVersionUID = 2392158972471437066L;
 
	private Long id;
	private String rolename;
 
	@Id
	@GeneratedValue
	public Long getId() {
		return id;
	}
 
	public void setId(Long id) {
		this.id = id;
	}
 
	@RoleName
	@Length(max = 20)
	public String getName() {
		return rolename;
	}
 
	public void setName(String rolename) {
		this.rolename = rolename;
	}
 
}