Ola galera beleza?
Pessoal precisei fazer uma inserção no banco mais personalizada e fui utilizar o HQL, so que estou apanhando aqui e gostaria do entendimento de vocês. Verifiquei em alguns tutoriais que com HQL nao existe o INSERT INTO VALUES … mas sim INSERT INTO … SELECT… bem a duvida e o problema e que quando estou inserindo ele não esta encontrando alguns paramentros meu. Verifique neste tutorial que e preciso colocar um nome de um objeto no INSERT e OUTRO objeto no SELECT… bem gostaria de saber como e isto? Preciso criar outra tabela para inserir uma… ou seja com o HQL vou precisa de a cada inserção criar duas tabelas? Bem no tutorial ta falando de OBJETO, mas se o objeto e quem esta fazendo a persistencia… bem não to entendendo… :?:
. Bem segue abaixo o codigo que estou tentando e o erro que esta sendo gerado.
CODIGO
public void salva(Filmes filme) {
Transaction tx = session.beginTransaction();
String query = "insert into Filmes (idfilme, idredeshopping, "
+ "taxaservico, idfilmes) select f.idfilme,f.idredeshopping,f.taxaservico,f.idfilmes from Filmes f";
Query q = session.createQuery(query)
.setParameter("idfilme", filme.getIdfilme())
.setParameter("idredeshopping", filme.getIdredeshopping())
.setParameter("taxaservico", filme.getTaxaservico())
.setParameter("idfilmes", filme.getIdfilmes());
q.executeUpdate();
tx.commit();
}
ERRO GERADO
INFO: Not binding factory to JNDI, no JNDI name configured
Exception occurred during event dispatching:
org.hibernate.QueryParameterException: could not locate named parameter [idfilme]
at org.hibernate.engine.query.ParameterMetadata.getNamedParameterDescriptor(ParameterMetadata.java:75)
at org.hibernate.engine.query.ParameterMetadata.getNamedParameterExpectedType(ParameterMetadata.java:81)
at org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:413)
at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:383)
at conexao.FilmesDAO.salva(FilmesDAO.java:192)
at gerenteingresso.Filme.processaDados(Filme.java:1532)
at gerenteingresso.Filme.jBProcessarFilmeActionPerformed(Filme.java:1413)
at gerenteingresso.Filme.access$2600(Filme.java:31)
at gerenteingresso.Filme$30.actionPerformed(Filme.java:897)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at java.awt.Component.show(Component.java:1563)
at java.awt.Component.setVisible(Component.java:1515)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at gerenteingresso.Filme$31.run(Filme.java:2063)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)