Hi all,

I've got an entity (user) that has a many-to-one relationship with another 
entity (group), both generated with seam-gen. The problem is that when I try to 
change the group that a user belongs to, this happens, but in the database what 
has happened is that the name of that group has been changed, and that is not 
what I want.

I´m using Seam 2.0.0.SNAPSHOT, JBoss AS 4.2.2 and Red Hat Developer Studio 
1.0.0.CR1.  

Here you have my code: 

the user:


  | @Entity
  | @Table(name = "USUARIOS")
  | public class Usuarios implements java.io.Serializable {
  | 
  |     private long codUsuario;
  |     private GruposUsuarios gruposUsuarios;
  |     private String nombreUsuario;
  |     private Short prioridadUsuario;
  |     private String passwordUsuario;
  |     private String filtroUsuario;
  |     private String snmpUsuario;
  |     private Set<TemispConfiguracion> temispConfiguracions = new 
HashSet<TemispConfiguracion>(
  |                     0);
  |     private Set<FiltrosFichas> filtrosFichases = new 
HashSet<FiltrosFichas>(0);
  |     private Set<Operacion> operacions = new HashSet<Operacion>(0);
  |     private Set<Macro> macros = new HashSet<Macro>(0);
  |     private Set<NuevaConfiguracion> nuevaConfiguracions = new 
HashSet<NuevaConfiguracion>(
  |                     0);
  |     private Set<Grupo> grupos = new HashSet<Grupo>(0);
  | 
  |     public Usuarios() {
  |     }
  | 
  |     public Usuarios(long codUsuario, GruposUsuarios gruposUsuarios) {
  |             this.codUsuario = codUsuario;
  |             this.gruposUsuarios = gruposUsuarios;
  |     }
  |     public Usuarios(long codUsuario, GruposUsuarios gruposUsuarios,
  |                     String nombreUsuario, Short prioridadUsuario,
  |                     String passwordUsuario, String filtroUsuario, String 
snmpUsuario,
  |                     Set<TemispConfiguracion> temispConfiguracions,
  |                     Set<FiltrosFichas> filtrosFichases, Set<Operacion> 
operacions,
  |                     Set<Macro> macros, Set<NuevaConfiguracion> 
nuevaConfiguracions,
  |                     Set<Grupo> grupos) {
  |             this.codUsuario = codUsuario;
  |             this.gruposUsuarios = gruposUsuarios;
  |             this.nombreUsuario = nombreUsuario;
  |             this.prioridadUsuario = prioridadUsuario;
  |             this.passwordUsuario = passwordUsuario;
  |             this.filtroUsuario = filtroUsuario;
  |             this.snmpUsuario = snmpUsuario;
  |             this.temispConfiguracions = temispConfiguracions;
  |             this.filtrosFichases = filtrosFichases;
  |             this.operacions = operacions;
  |             this.macros = macros;
  |             this.nuevaConfiguracions = nuevaConfiguracions;
  |             this.grupos = grupos;
  |     }
  | 
  |     @Id
  |     @Column(name = "COD_USUARIO", unique = true, nullable = false, 
precision = 10, scale = 0)
  |     @NotNull
  |     public long getCodUsuario() {
  |             return this.codUsuario;
  |     }
  | 
  |     public void setCodUsuario(long codUsuario) {
  |             this.codUsuario = codUsuario;
  |     }
  |     @ManyToOne(fetch = FetchType.LAZY)
  |     @JoinColumn(name = "COD_GRUPOS_USUARIOS", nullable = false)
  |     @NotNull
  |     public GruposUsuarios getGruposUsuarios() {
  |             return this.gruposUsuarios;
  |     }
  | 
  |     public void setGruposUsuarios(GruposUsuarios gruposUsuarios) {
  |             this.gruposUsuarios = gruposUsuarios;
  |     }
  | 
  |     @Column(name = "NOMBRE_USUARIO", length = 60)
  |     @Length(max = 60)
  |     public String getNombreUsuario() {
  |             return this.nombreUsuario;
  |     }
  | 
  |     public void setNombreUsuario(String nombreUsuario) {
  |             this.nombreUsuario = nombreUsuario;
  |     }
  | 
  |     @Column(name = "PRIORIDAD_USUARIO", precision = 3, scale = 0)
  |     public Short getPrioridadUsuario() {
  |             return this.prioridadUsuario;
  |     }
  | 
  |     public void setPrioridadUsuario(Short prioridadUsuario) {
  |             this.prioridadUsuario = prioridadUsuario;
  |     }
  | 
  |     @Column(name = "PASSWORD_USUARIO", length = 128)
  |     @Length(max = 128)
  |     public String getPasswordUsuario() {
  |             return this.passwordUsuario;
  |     }
  | 
  |     public void setPasswordUsuario(String passwordUsuario) {
  |             this.passwordUsuario = passwordUsuario;
  |     }
  | 
  |     @Column(name = "FILTRO_USUARIO", length = 20)
  |     @Length(max = 20)
  |     public String getFiltroUsuario() {
  |             return this.filtroUsuario;
  |     }
  | 
  |     public void setFiltroUsuario(String filtroUsuario) {
  |             this.filtroUsuario = filtroUsuario;
  |     }
  | 
  |     @Column(name = "SNMP_USUARIO", length = 20)
  |     @Length(max = 20)
  |     public String getSnmpUsuario() {
  |             return this.snmpUsuario;
  |     }
  | 
  |     public void setSnmpUsuario(String snmpUsuario) {
  |             this.snmpUsuario = snmpUsuario;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "usuarios")
  |     public Set<TemispConfiguracion> getTemispConfiguracions() {
  |             return this.temispConfiguracions;
  |     }
  | 
  |     public void setTemispConfiguracions(
  |                     Set<TemispConfiguracion> temispConfiguracions) {
  |             this.temispConfiguracions = temispConfiguracions;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "usuarios")
  |     public Set<FiltrosFichas> getFiltrosFichases() {
  |             return this.filtrosFichases;
  |     }
  | 
  |     public void setFiltrosFichases(Set<FiltrosFichas> filtrosFichases) {
  |             this.filtrosFichases = filtrosFichases;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "usuarios")
  |     public Set<Operacion> getOperacions() {
  |             return this.operacions;
  |     }
  | 
  |     public void setOperacions(Set<Operacion> operacions) {
  |             this.operacions = operacions;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "usuarios")
  |     public Set<Macro> getMacros() {
  |             return this.macros;
  |     }
  | 
  |     public void setMacros(Set<Macro> macros) {
  |             this.macros = macros;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "usuarios")
  |     public Set<NuevaConfiguracion> getNuevaConfiguracions() {
  |             return this.nuevaConfiguracions;
  |     }
  | 
  |     public void setNuevaConfiguracions(
  |                     Set<NuevaConfiguracion> nuevaConfiguracions) {
  |             this.nuevaConfiguracions = nuevaConfiguracions;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "usuarios")
  |     public Set<Grupo> getGrupos() {
  |             return this.grupos;
  |     }
  | 
  |     public void setGrupos(Set<Grupo> grupos) {
  |             this.grupos = grupos;
  |     }
  | 
  | }
  | 

The group:



  | @Entity
  | @Table(name = "GRUPOS_USUARIOS")
  | public class GruposUsuarios implements java.io.Serializable {
  | 
  |     private long codGruposUsuarios;
  |     private String nombreGruposUsuarios;
  |     private Set<Usuarios> usuarioses = new HashSet<Usuarios>(0);
  |     private Set<Filtros> filtroses = new HashSet<Filtros>(0);
  |     private Set<Equipos> equiposes = new HashSet<Equipos>(0);
  | 
  |     public GruposUsuarios() {
  |     }
  | 
  |     public GruposUsuarios(long codGruposUsuarios) {
  |             this.codGruposUsuarios = codGruposUsuarios;
  |     }
  |     public GruposUsuarios(long codGruposUsuarios, String 
nombreGruposUsuarios,
  |                     Set<Usuarios> usuarioses, Set<Filtros> filtroses,
  |                     Set<Equipos> equiposes) {
  |             this.codGruposUsuarios = codGruposUsuarios;
  |             this.nombreGruposUsuarios = nombreGruposUsuarios;
  |             this.usuarioses = usuarioses;
  |             this.filtroses = filtroses;
  |             this.equiposes = equiposes;
  |     }
  | 
  |     @Id
  |     @Column(name = "COD_GRUPOS_USUARIOS", unique = true, nullable = false, 
precision = 10, scale = 0)
  |     @NotNull
  |     public long getCodGruposUsuarios() {
  |             return this.codGruposUsuarios;
  |     }
  | 
  |     public void setCodGruposUsuarios(long codGruposUsuarios) {
  |             this.codGruposUsuarios = codGruposUsuarios;
  |     }
  | 
  |     @Column(name = "NOMBRE_GRUPOS_USUARIOS", length = 60)
  |     @Length(max = 60)
  |     public String getNombreGruposUsuarios() {
  |             return this.nombreGruposUsuarios;
  |     }
  | 
  |     public void setNombreGruposUsuarios(String nombreGruposUsuarios) {
  |             this.nombreGruposUsuarios = nombreGruposUsuarios;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "gruposUsuarios")
  |     public Set<Usuarios> getUsuarioses() {
  |             return this.usuarioses;
  |     }
  | 
  |     public void setUsuarioses(Set<Usuarios> usuarioses) {
  |             this.usuarioses = usuarioses;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "gruposUsuarios")
  |     public Set<Filtros> getFiltroses() {
  |             return this.filtroses;
  |     }
  | 
  |     public void setFiltroses(Set<Filtros> filtroses) {
  |             this.filtroses = filtroses;
  |     }
  |     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "gruposUsuarios")
  |     public Set<Equipos> getEquiposes() {
  |             return this.equiposes;
  |     }
  | 
  |     public void setEquiposes(Set<Equipos> equiposes) {
  |             this.equiposes = equiposes;
  |     }
  | 
  | }
  | 

This is the code where I show the group name and where I do the update:


  | <s:decorate id="grupoUsuarioDecoration" template="layout/edit.xhtml">
  |                 <ui:define 
name="label">${messages.usersEditGroup}</ui:define>                      
  |                 <h:selectOneMenu id="grupoUsuario1" required="true" 
rendered="#{s:hasRole('Administrador') or (s:hasRole('Supervisor') and 
(usuariosHome.instance.prioridadUsuario > 20))}"
  |                                     
value="#{usuariosHome.instance.gruposUsuarios.nombreGruposUsuarios}">
  |                                     <s:selectItems 
value="#{usuariosEditBean.listaGruposUsuarios}" var="t" label="#{t}" />         
                         
  |                             </h:selectOneMenu>
  |                             <h:inputText id="grupoUsuario2" 
  |                            size="20"
  |                       maxlength="20"
  |                        rendered="#{s:hasRole('Configurador') or 
s:hasRole('Visualizador') or (s:hasRole('Supervisor') and (not 
(usuariosHome.instance.prioridadUsuario > 20)))}"
  |                        disabled="true"
  |                           
value="#{usuariosHome.instance.gruposUsuarios.nombreGruposUsuarios}">
  |                     <a:support event="onblur" 
reRender="grupoUsuarioDecoration" bypassUpdates="true"/>
  |                 </h:inputText>
  |             </s:decorate>
  | 

Does anyone know something about this?

Thanks in advance.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128404#4128404

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4128404

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to