Em um sistema de ordem de serviço, cada O.S é vinculada a uma loja, por sua vez cada usuário tem uma ou mais lojas, por exemplo o usuário José tem a loja 01 e loja 02. Já o usuário João tem permissão de acesso em 3 lojas etc…
Em criteria vai depender das associações no seu modelo OO:
Restrictions.eq("loja.usuarioLoja.idUsuario", <id do usuario logado>)
andrebmarinho
Digo do usuario logado, vou testar aqui e te digo.
andrebmarinho
Pronto é nesse ponto que estou enrolado. Veja:
Uma Ordem de Serviço tem um Loja que tem N Usuarios (cada Usuario pode ter N Lojas).
Logo quando o usuário clicar em listar Ordem de Serviço, deve trazer todas O.S que tem as Lojas que o usuário tem permissão. Ou seja se o usuario tem permissão apenas para Loja 01, as O.S que devem aparecer deve ser apenas da Loja 01.
Criteria é complicado mesmo. E quanto mais complexa a query mais ilegível fica. HQL é menos pior.
darlan_machado
Eu não entendi muito bem. Cada OS está vinculada a uma loja, certo? Não existe uma tabela específica de OS? Esta tabela não possui relação com a tabela de lojas?
O próprio usuário, responsável pela loja, é quem consulta as OSs?