| 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>
 
 
 |