how to persist data from selectManyCheckbox
wadhah Jan 3, 2011 2:38 PMhello every body how to persist data from selectManyCheckbox ?
I have a list of roles i would like to persist them
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;
}
}
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;
}
}
Roles: <h:selectManyCheckbox> <f:selectItem itemLabel="Agent" itemValue="Agent" /> <f:selectItem itemLabel="Admin" itemValue="Admin" /> </h:selectManyCheckbox>