Insert com HQL

125 views
Skip to first unread message

José Carlos

unread,
Nov 4, 2009, 4:14:06 PM11/4/09
to disc...@cejug.dev.java.net, jav...@googlegroups.com
Boa Noite Galera,

estou tentando persistir dados de uma entidade via Hql, mas não estou sabendo a sintaxe correta,

uma vez que insert com Hql não aceita ("values") é necessário fazer um subselect e fazer uma associação

do resultado do select com os devidos campos da tabela,

na documentação do Hibernate tem algo como:

String hqlInsert = "insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ...";

minha pergunta, como fazer essa associação com campos da mesma tabela?

String hqlInsert = "insert into Pessoa(id, name) select p.id, p.name from Pessoa p where ...";  //seria dessa forma?

meu caso é fazer um insert simples com Hql,

vlw.


--

José Carlos
Desenvolvedor Java - Casa Magalhães

Raphael Pereira Ferreira

unread,
Nov 5, 2009, 8:09:52 AM11/5/09
to disc...@cejug.dev.java.net, jav...@googlegroups.com
José Carlos,

Não sou expert em HQL mas o q observei eh que ela não foi feita para
insert simpes, para isso você deve prrencher sua entidade com os dados
capturados e usar os metodos save() ou persist() do hibernate mesmo.
Como você vai inserir uma pessoa selecionando os valores do banco, se
ainda não foram inseridos? O insert ho HQL so serve para inserir
valores em uma tabela com dados vindo de outra tabela. O HQL é bom
mesmo para consultas complexas.


2009/11/4 José Carlos <jose4...@gmail.com>:

--
--
Atenciosamente,
------------------------------------------------
Raphael P Ferreira

Reply all
Reply to author
Forward
0 new messages