Boa noite galera,
Seguinte estou fazendo uma aplicação onde o usuário entra com uma query qualquer e define qual banco ele deve usar. É tipo um SQL Browser.
Porém ao tentar executar uma query via Hibernate ele diz que a tabela não está mapeada, e não vai estar mesmo,
pois pelo objetivo da ferramenta não quero fixar um banco de dados e nem suas tabelas, por isso não posso mapealas.
Alguém sabe como posso fazer uma query simples pelo Hibernate sem depender de mapeamento?
Grato,
Brunno Tavares
Nao tem como ter um HQL sem mapear as entidades
Pois eh cara, não tem como.
A única solução que eu veria, e que seria um assassinato em sua arquitetura, seria o fato de vc usar também o JDBC. Nisso vc faria a consulta por fora, criaria objetos, e depois salvaria, até mesmo utilizando o hibernate.
Vc poderia criar uma camada apenas para consulta (via JDBC). A persistência, alteração, vc poderia utilizar o Hibernate. [=
Mas digo de novo, vc mataria seu design pattern! [=
Pois é, é isso que eu queria evitar, vai zuar toda a estrutura.
Na verdade, não vou precisar persistir o resultado da query do usuário, somente mostrar o result.
Porém procurei um pouco sobre o assunto na net e não consegui acha nada, acho que vou ter que sacrificar a estrutura mesmo…
Ou se alguém tiver outra idéia
vlw
não precisa “assassinar sua arquitetura” nada. existe sim uma forma de se fazer isso e se chama Native Queries. Vai ser um pouco trabalhoso para retornar o resultado para o usuário, mas pelo menos você não vai ter duas formas de acesso aos dados.
Só para acesso mais rápido, referência do hibernate 3.3 quanto ao native query:
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querysql.html
Olá, brunoskrebs
Era isso mesmo, funcionou certinho, agora vou fazer um esquema legal para o retorno dos resuçltados.
vlw
Brunno Tavares