This is my query in the database:
<code> select * from seguridad.permisos_usuarios pu join seguridad.grupo_roles gr on gr.idgrupo_permiso = pu.idgrupo_permiso join seguridad.usuarios u on gr.idusuario = u.idusuario join seguridad.grupos_permisos gp on gp.idgrupo_permiso = gr.idgrupo_permiso join configuracion.empresas e on e.idempresa = gr.idempresa join seguridad.rol r on r.idrol = pu.idrol where u.idusuario = 1 and e.idempresa = 1 and r.idrol = 1 </code>
In Java i have this:
<code> List<Permisos_Usuarios> lista = sesion.createCriteria(Permisos_Usuarios.class, "pu") .createAlias("pu.grupo_roles", "gr") .createAlias("pu.grupo_permiso", "gp") .createAlias("gr.usuarios", "u") .createAlias("gp.empresa", "e") .createAlias("pu.rol", "r") .createAlias("r.modulo", "m") .add(Restrictions.eq("e.empresa", empresa)) .add(Restrictions.eq("u.usuario", usuario)) .add(Restrictions.eq("r.rol", 1)) .list(); </code>
The error, i want to map in grupo_roles idgrupo_permiso like the database query.
<code> Exception in thread "AWT-EventQueue-0" org.hibernate.QueryException: could not resolve property: grupo_roles of: entidades.Seguridad.Permisos_Usuarios </code>
Mapping Class Grupo_Roles:
<code> <hibernate-mapping> <class name="entidades.Seguridad.Grupo_Roles" table="grupo_roles" schema="seguridad"> <id column="idgrupo_roles" name="idgrupo_roles"> </id> <many-to-one cascade="save-update" class="entidades.Seguridad.Grupos_Permisos" column="idgrupo_permiso" fetch="select" name="grupo_permiso"> </many-to-one> <many-to-one cascade="save-update" class="entidades.Seguridad.Usuarios" column="idusuario" fetch="select" name="usuario"> </many-to-one> <many-to-one cascade="save-update" class="entidades.Configuracion.Empresas" column="idempresa" fetch="select" name="empresa"> </many-to-one> </class> </hibernate-mapping> </code>
Mapping Class Permisos_Usuarios <code> <hibernate-mapping> <class name="entidades.Seguridad.Permisos_Usuarios" table="permisos_usuarios" schema="seguridad"> <id column="idpermiso_usuario" name="idpermiso_usuario"> </id> <many-to-one cascade="save-update" class="entidades.Seguridad.Grupos_Permisos" column="idgrupo_permiso" fetch="select" name="grupo_permiso"> </many-to-one> <many-to-one cascade="save-update" class="entidades.Seguridad.Rol" column="idrol" fetch="select" name="rol"> </many-to-one> <property name="nuevo"/> <property name="editar"/> <property name="eliminar"/> <property name="buscar"/> <property name="imprimir"/> <property name="estado"/> </class> </hibernate-mapping> </code>
Mapping Class Grupos_Permisos: <code> <hibernate-mapping> <class name="entidades.Seguridad.Grupos_Permisos" table="grupos_permisos" schema="seguridad"> <id column="idgrupo_permiso" name="idgrupo_permiso"> </id> <property name="codigo"/> <property name="grupo_permiso"/> <many-to-one cascade="save-update" class="entidades.Configuracion.Empresas" column="idempresa" fetch="select" name="empresa"> </many-to-one> <set fetch="select" inverse="true" lazy="true" name="grupo_roles" table="grupo_roles"> <key> <column name="idgrupo_permiso"/> </key> <one-to-many class="entidades.Seguridad.Grupo_Roles"/> </set> <set fetch="select" inverse="true" lazy="true" name="permisos_usuarios" table="permisos_usuarios"> <key> <column name="idgrupo_permiso"/> </key> <one-to-many class="entidades.Seguridad.Permisos_Usuarios"/> </set> </class> </hibernate-mapping> </code> Class Grupo_Roles: <code> /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package entidades.Seguridad;
import entidades.Configuracion.Empresas; import java.io.Serializable;
public class Grupo_Roles implements Serializable{
long idgrupo_roles; Grupos_Permisos grupo_permiso; Usuarios usuario; Empresas empresa;
public Grupo_Roles() { }
public Grupo_Roles(Grupos_Permisos grupo_permiso, Usuarios usuario,Empresas empresa) { this.grupo_permiso = grupo_permiso; this.usuario = usuario; this.empresa = empresa; }
public long getIdgrupo_roles() { return idgrupo_roles; }
public void setIdgrupo_roles(long idgrupo_roles) { this.idgrupo_roles = idgrupo_roles; }
public Grupos_Permisos getGrupo_permiso() { return grupo_permiso; }
public void setGrupo_permiso(Grupos_Permisos grupo_permiso) { this.grupo_permiso = grupo_permiso; }
public Usuarios getUsuario() { return usuario; }
public void setUsuario(Usuarios usuario) { this.usuario = usuario; }
public Empresas getEmpresa() { return empresa; }
public void setEmpresa(Empresas empresa) { this.empresa = empresa; }
} </code>
Clase Grupos_Permisos <code> /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package entidades.Seguridad;
import entidades.Configuracion.Empresas; import java.io.Serializable; import java.util.HashSet; import java.util.Set;
public class Grupos_Permisos implements Serializable{ long idgrupo_permiso; long codigo; String grupo_permiso; Empresas empresa; private Set grupo_roles = new HashSet(0); private Set permisos_usuarios = new HashSet(0);
public Grupos_Permisos() { }
public Grupos_Permisos(String grupo_permiso, Empresas empresa) { this.grupo_permiso = grupo_permiso; this.empresa = empresa; }
public long getIdgrupo_permiso() { return idgrupo_permiso; }
public void setIdgrupo_permiso(long idgrupo_permiso) { this.idgrupo_permiso = idgrupo_permiso; }
public long getCodigo() { return codigo; }
public void setCodigo(long codigo) { this.codigo = codigo; }
public String getGrupo_permiso() { return grupo_permiso; }
public void setGrupo_permiso(String grupo_permiso) { this.grupo_permiso = grupo_permiso; }
public Empresas getEmpresa() { return empresa; }
public void setEmpresa(Empresas empresa) { this.empresa = empresa; }
public Set getGrupo_roles() { return grupo_roles; }
public void setGrupo_roles(Set grupo_roles) { this.grupo_roles = grupo_roles; }
public Set getPermisos_usuarios() { return permisos_usuarios; }
public void setPermisos_usuarios(Set permisos_usuarios) { this.permisos_usuarios = permisos_usuarios; }
@Override public String toString() { return grupo_permiso; } } </code>
Class Permisos_Usuarios: <code> /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package entidades.Seguridad;
public class Permisos_Usuarios {
long idpermiso_usuario; Grupos_Permisos grupo_permiso; Rol rol; String nuevo; String editar; String eliminar; String buscar; String imprimir; String estado;
public Permisos_Usuarios() { }
public Permisos_Usuarios(Grupos_Permisos grupo_permiso, Rol rol, String nuevo, String editar, String eliminar, String buscar, String imprimir, String estado) { this.grupo_permiso = grupo_permiso; this.rol = rol; this.nuevo = nuevo; this.editar = editar; this.eliminar = eliminar; this.buscar = buscar; this.imprimir = imprimir; this.estado = estado; }
public long getIdpermiso_usuario() { return idpermiso_usuario; }
public void setIdpermiso_usuario(long idpermiso_usuario) { this.idpermiso_usuario = idpermiso_usuario; }
public Grupos_Permisos getGrupo_permiso() { return grupo_permiso; }
public void setGrupo_permiso(Grupos_Permisos grupo_permiso) { this.grupo_permiso = grupo_permiso; }
public Rol getRol() { return rol; }
public void setRol(Rol rol) { this.rol = rol; }
public String getNuevo() { return nuevo; }
public void setNuevo(String nuevo) { this.nuevo = nuevo; }
public String getEditar() { return editar; }
public void setEditar(String editar) { this.editar = editar; }
public String getEliminar() { return eliminar; }
public void setEliminar(String eliminar) { this.eliminar = eliminar; }
public String getBuscar() { return buscar; }
public void setBuscar(String buscar) { this.buscar = buscar; }
public String getImprimir() { return imprimir; }
public void setImprimir(String imprimir) { this.imprimir = imprimir; }
public String getEstado() { return estado; }
public void setEstado(String estado) { this.estado = estado; }
} </code>
|