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?
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! [=
B
brunnot
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
B
brunoskrebs
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: