| Autor |
Mensagem |
|
|
Olá pessoal.
Estou usando o Hibernate 3.6.7 e não consigo usar o .class ou Type de jeito nenhum.
Meu JPQL é esse:
O SQL gerado é sempre:
O seguinte erro é gerado:
Espero que me ajudem!
[]s
|
 |
|
|
|
Ninguém mais para opinar?
|
 |
|
|
Há pouco tempo venho usando java e seus frameworks, por isso essa necessidade recorrente da ajuda de vocês.
Tenhu usado JPQL e me ocorreu que esta fere The Law of Demeter quando se escreve:
Já no o.ATRIBUTO1 JPQL fura o encapsulamento da classe, aumentando assim o acoplamento das consultas JPQL com a estrutura interna da classe, ou seja, se a estrutura interna da classe for alterada todas as consultas acopladas a esta também terão de ser alteradas! Que mer#%%$!
Existe alguma formar de desacoplar as consultas da estrutura interna da classe?
Tem que funcionar no mínimo em casos como este:
A consulta seria: Consultar todos os Consumidores que residam em um determinado CEP.
Como seria esta consulta de forma desacoplada?
[]s
Conto com a ajuda de vocês!
|
 |
|
|
Renato Machado wrote:
Isso é trivial em qualquer linguagem de programação, basta associar a ação "conectar com determinada url" à um determinado evento no cliente.
Por favor, me mostre então esta solução tão trivial!
Como o peerless disse acho que cabe até um projeto para fazer o que eu quero. É o que o pessoal ta fazendo com o Restfulie.
Ainda acho que você não entendeu o problema.
[]s
|
 |
|
|
O Restfulie não é tão transparente quanto eu gostaria, porém pode ser usado para ficar no meio de campo, apesar que tenho uma tendência maior a preferir Jersey Client API a Restfulie.
Acho que a resposta para minha dúvida inicial é CGLib!
Depois de tudo, gostaria de pedir desculpas por te dados tantas voltas para fazer você entender minha dúvida. De repente foi útil para discutirmos a respieto de REST.
{}S
|
 |
|
|
peerless wrote:
Renato Machado wrote:Com relação ao lazy loading em arquiteturas verdadeiramente REST, já está embutido na própria arquitetura, é apenas uma questão de estabelecer uma política por parte do cliente sobre como lidar com certos links, por exemplo, um browser não precisaria baixar o resource imagem de uma tag IMG em um documento HTML se aquela parte do documento não estiver sendo exibida na tela, só quando o usuário move a janela de visualização onde é possível ver a imagem.
Isso. A idéia é que REST, em tese, não deveria manter estado entre cliente/servidor (HTTP!). Dado uma resposta, fim daquela relação. Entao com base no que o Renato disse, podemos ter uma idéia de lazy loading se linkarmos a sua representação. Lazy loading é sob demanda, Hipermidia eh sob demanda.
só trará os filhos quando.. (politica do cliente de como lidar com isso, repetindo as palavras do Renato)
abraços.
Até ai td bem! Esta não é a questão.
Rs... tenho, realmente, dificuldade em me expressar!
A questão é como fazer um mecanismo que deixe transparente as requisições sob demanda das hipermedias.
Como interceptar uma chamada a pessoa.getFilhos() e fazer o load dos filhos no end "http://xpto.com/pessoas/4/filhos" e assim por diante?
[]s
|
 |
|
|
Renato Machado wrote:
Não faço idéia do que isso significa em um contexto REST. Sabe porque, a comunicação entre sistemas REST usa o protocolo HTTP e formatos hipermidia
Estranha sua justificativas, mas, enfim, dependendo do nível do REST ele pode usar HTTP como:
1- Protocolo de transporte, só para fazer um túnel HTTP ou
2- Protocolo de aplicação, usa-se os verbos GET, PUT, POST e DELETE, e seu mecanismo de erro.
O segundo é o mais desejado. Você pode saber mais sobre isso aqui: http://martinfowler.com/articles/richardsonMaturityModel.html
A respeito da hipermedia, é simplesmente uma forma de relacionar recursos.
Renato Machado wrote:não objetos
Por que, necessariamente, não objetos? Até onde eu sei posso representar qualquer coisa como objeto, até um documento HTML pode representado por um objeto, é só você escolher usar a abstração com objetos!
Renato Machado wrote:
se o servidor é feito em java ou brainfuck não importa, por definição não se deve assumir nada a respeito de qual tecnologia é usada no servidor para implementar um cliente REST.
Realmente a tecnologia usada no servidor não importa, o que importa mesmo é o formato que os resources são trocados: XML, HTML, JSOM etc...
Porém, se meu servidor usa uma classe java para representar cada Resource, nada mais simples que utiliza-las no lado do cliente para facilitar a minha vida na hora de manipular os dados recebidos do servidor.
Nada me impede de consumir o serviço com Ruby, porém seria elegante eu criar uma classe Ruby para cada Resource que eu vou consumir.
Renato Machado wrote:
Se esta pensando em alguma solução de ligar objetos distribuídos para implementar algum mecanismo automatico por debaixo dos panos, como fazem projetos como Restufulie, isso é o mesmo que dar meia volta e ir ao oposto do que é REST.
Restufulie esta indo ao oposto do que é REST?
Acho que o pessoal da Caelum tem experiência e algum crédito, para dizermos que não ficariam tanto tempo em cima de um erro conceitual!
Mas, se eles estiverem com um erro e conceito nós, a maioria, excluindo você, estamos com o mesmo erro conceitual! Tomara que alguém do Restufulie exponha sua opinião.
Renato Machado wrote: Repito, REST não é sobre distribuir objetos.
Objetos é só uma abstração para os dados! Se você achar melhor pode chamar de dados, mas eu ainda vou utilizar objetos para manipular esse dados rs...
Que continuemos debatendo nossas idéias!
[]s
|
 |
|
|
peerless wrote:Dependendo do nível de maturidade dos teus servicos hipermidia pode lhe ajudar.
Nossa! Há um tempo atrás já tinha visto uma dicussão sobre a utilização de hipermidia para representar relacionamentos na WADL, porém nem me lembrava. No meu serviço há uma relação Tipo de Recurso e URI, por causa disso não me surgiu a necessidade de mapear os relacionamentos com hipermedia, mas provavelmente irei faze-lo.
Mas meu problema não é esse! Meu problema é: Como controlar o load de objetos, como fazer um lazy loading?
Exemplo:
- Usuário tem um único endereço.
- Eu recebo um json de usuário que tem os dados de usuário, mas não tem o endereço.
{
nome: "brunohansen",
endereco: "/endereco" (Se tratando de path relativo ficaria absoluto assim /usuarios/brunohansen/endereco)
}
- Eu materializo este json em um objeto Java, mas o endereço não esta presente, como posso criar um mecanismo para interceptar a chamada do método usuarioX.getEndereco() e fazer o load do recurso? (Como se fosse um lazyloading do hibernate).
Esse é o meu problema, não existe algo que faça isso pra mim? Ou como seria uma boa forma de implementar isso?
Já dei uma olhada no Restfulie, mas quero algo mais transparente. Denovo, quero usar um serviço Rest como se estivesse usando um repositório qualquer!
[]s e Valew pela força!
|
 |
|
|
Sei que o título é meio estranho, mas não tive uma idéia melhor. rs...
Contextualizando:
Acabei de criar um serviço REST utilizando: Spring-MVC e o Jackson-JSON.
Estou consumindo este serviço com uma interface gráfica EXT-JS.
A biblioteca EXT-JS resolveu indiretamente, com algumas particularidades, um problema de leitura das associações entre os objetos (Agregações e Composições), coisa que o Hibernate ou qualquer outro JPA provider resolve com Lazy Loading.
Hoje surgiu a necessidade de uma aplicação Java consumir o serviço que eu criei.
Como meu serviço é implementado em java, já tenho boa parte da infra criada, teoricamente seria simples criar um cliente com JSON marshalling automático.
A abstração do cliente seria com a mesma interface que eu abstraio a persitência dos dados, isso mesmo, um Repositório. Afinal quais são as operações de um repositório? Create, Retrieve, Update e Delete fazendo um paralelo com REST POST, GET, UPDATE e DELETE. Falando nisso quais são mesmo as operações disponíveis em um EntityManager? São paralelas também né? Pelo menos ao meu ver são, o que vocês acham? Qual seria a diferença entre acessar um repositório JPA ou REST?
Decidi fazer a implementação do repositório REST com a biblioteca HttpClient da Apache. Tudo ia de vento em poupa até que me dei conta das associações entre os objetos. Meu Deus! Como vou lidar com isso? Vou ter que implementar algo como o lazy loading do hibernate? FFFuuu$%#%%.
Alguém conhece alguma implementação pronta que faz isso? Ou tem uma sujestão de implementação? Ou queira debater minha visão?
Já dei uma olhada por alto no Jersey Client API e me pareceu que ele faz marshalling, mas como cuida das associações entre os objetos? Será que cuida?
Mais uma vez conto com a ajuda de vocês!
|
 |
|
|
Pelo amor de Deus me ajudem...
;,(
|
 |
|
|
Não consigo criar uma consulta com a criteria isMember. Alguém poderia me ajudar?
Tenho o seguinte atributo na minha classe:
Quero consultar quais acomp um determinado centro tem visibilidade, ou seja, quero consultar possui um determinado centro dentro da list visibilidades.
Essa é minha consulta:
O sql gerado é:
Este from acomp esta muito estranho não deveria ser algo com acomp_visibilidade pelo fato de eu ter anotado @JoinTable(name="acomp_visibilidade"
Espero que alguém consiga me ajudar
|
 |
|
|
adriano_si wrote:
Tchello wrote: Essa discussão de novo nãaaoooo!!!
ããããããããõooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo...
só continuei o Não do Tchello... heuheueeheueheueheuue
Não assinarei...
Abs []
Ao contrário dos Engenheiros os profissionais de Informática são bobos mesmo.
Constrastando com os Eng.
- Não temos um piso salarial;
- Não temos concursos fechados para os nossos profissionais podendo matemáticos, eng de tele, eng de eletrico, eng eletro. podendo assumir nossas vagas;
- Temos uma profissão prostituída pois qualquer pessoa pode se entitular da área.
Tudo bem não regulamentamos nossa profissão e vamos assim sendo desvalorizados...
|
 |
|
|
Meus Amigos,
Acabei de ler e assinar este abaixo-assinado online:
«Pela Regulamentação da Profissão de Analista de Sistemas e Correlatas»
http://www.peticaopublica.com.br/?pi=60707PLS
Eu concordo com este abaixo-assinado e acho que também concordaras.
Assina o abaixo-assinado aqui http://www.peticaopublica.com.br/?pi=60707PLS e divulga-o.
Obrigado.
|
 |
|
|
O pior é que eu estou usando JPA2!
Sera que dá para misturar Restrictions.ilike("fieldName", value, MatchMode.ANYWHERE ) com JPA?
Preciso disso nesse método:
Valew pela ajuda.
|
 |
|
|
Ninguém pode me ajudar?
|
 |
|
|
|
|