Executando uma query e pegando o retorno com hibernate  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Gostaria de executar esta query com hibernate: "SELECT COUNT(schemaname) FROM pg_tables WHERE schemaname = 'public';" e pegar o seu retorno.
Esta query iria ficar dentro de uma classe e eu estou usando PostgreSQL com Hibnernate.

www.bau-de-dev.com
legionarioba
JavaTeenager
[Avatar]

Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline

Porque você não usa simplesmente SQL Query?

http://silvioluiz.wordpress.com
[Email] [MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Estou usando a SQL Query, mas não estou sabendo pegar os dados retornados da query.....

www.bau-de-dev.com
legionarioba
JavaTeenager
[Avatar]

Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline

Você já deu uma olhada lá no link que passei? Quando você faz uma consulta explícita, sem recuperar um objeto persistente a ser gerenciado pelo Hibernate, ele executa a sua consulta e recupera, no seu caso, um object. Mas você está processando uma consulta escalar, então precisa especificar qual tipo irá usar(se não vai acabar trazendo um BigDecimal, se não me falhe a memória ) Acredito que isso resolva:



Você não precisa de uma classe mapeada pra executar essa consulta, testa ai e vê se é o que precisa



http://silvioluiz.wordpress.com
[Email] [MSN]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5931
Localização: São Paulo/SP
Offline

Se não me engano o resultado é um BigInteger e não um long, se for o caso é só mudar o cast e o tipo do objeto.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Valeu galera consegui resolver como o legionarioba falou.... só troquei de Long para Integer...
Aproveitando, tem como criar e mapear um classe dinâmicamente?
Pq eu tenho várias tabelas que são criadas mensalmente....Tem como resolver isso com hibernate?

www.bau-de-dev.com
legionarioba
JavaTeenager
[Avatar]

Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline

Não retorna um Long não como eu disse, pra isso o addScalar

http://silvioluiz.wordpress.com
[Email] [MSN]
legionarioba
JavaTeenager
[Avatar]

Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline

Tabelas criadas mensalmente? Xii tá com cara de furo, explica melhor porque você precisa disso..

Existe a classe SchemaExport, que recebe um Configuration(aquele mesmo do seu HibernateUtil). Mas isso é usado pra, por exemplo, se você quiser criar um programinha desktop, e deixar o cliente escolher qual banco quer utilizar(vais precisar claro das configs e acessos do banco). Essa situação sua não vejo muito sentido...

This message was edited 2 times. Last update was at 14/10/2008 16:13:46


http://silvioluiz.wordpress.com
[Email] [MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Nós fazemos isso aqui na empresa para não ficar com uma tabela com muitos registro e para poder medir a quantidade de registros de um mês com mais tranquilidade, na maioria das vezes em um 1 mês, no mínimo, é criado 50 milhões de registros.....
E também no meu sistema tem a possibilidade do usuário criar schemas e dentro destes schemas teriam estas tabelas mensais....

www.bau-de-dev.com
legionarioba
JavaTeenager
[Avatar]

Membro desde: 24/03/2003 00:40:42
Mensagens: 171
Localização: Salvador
Offline

Explica melhor essa arquitetura...O processo de criação da session factory é bastante custoso, mas como o mesmo é thread-safe no caso da web você cria chamando o HibernateUtil num listener do contexto, mas no seu caso, com usuários distintos com schemas distintos, isso pode ser deveras custoso. Desculpe perguntar, mas que tipo de negócio trabalha para gerar 50 milhões de registros em uma única tabela em um mês

http://silvioluiz.wordpress.com
[Email] [MSN]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Aqui nós trabalhamos com sms, wap, tudo relacionado a mobile....
Um exemplo no último paradão do BBB8 foi gerado em uma noite 1 milhão de registro.
E este meu sistema não vai rodar na web.

www.bau-de-dev.com
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team