ola gente estou tentando chamar um relatorio por data e na hora que escrevo a data e clico no botao para chamar o relatorio da esse erro abaixo alguem pode me ajudar?
obriigada!
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.*;
import Modelo.Cliente;
import Modelo.Compra;
import Modelo.Conta;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class FiltroCliente extends JFrame {
private JLabel rotulo1;
private JTextField caixa1;
private JButton botao1;
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
Cliente objetoCliente;
ImageIcon icone;
public FiltroCliente(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {
super("Relatório Cliente");
Container tela = getContentPane();
icone = new ImageIcon("100.gif");
botao1 = new JButton (icone);
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Data:");
caixa1 = new JTextField();
//botao1 = new JButton("Gerar Relatório");
// coluna, linha, largura, altura
rotulo1.setBounds(24, 19, 56, 20);
caixa1.setBounds(75, 19, 100, 20);
botao1.setBounds(54, 60, 100, 20);
//rotulo2.setBounds(24, 50, 100, 20);
//caixa2.setBounds(75, 50, 100, 20);
tela.add(rotulo1);
tela.add(caixa1);
//tela.add(rotulo2);
//tela.add(caixa2);
tela.add(botao1);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
RelatorioCliente rep = new RelatorioCliente();
objetoCliente =
(Cliente) gerenciador.createQuery(
"from Cliente pr WHERE pr.Data = $P{Data}").setParameter("Data", caixa1.getText()).getSingleResult();
JasperPrint relat;
try {
relat = rep.gerarRelatorioCliente();
JasperViewer.viewReport(relat, false);
} catch (Exception e1) {
e1.printStackTrace();
}
//
}
});
// setSize(largura, altura);
setSize(250, 150);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
FiltroCliente app = new FiltroCliente(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
erro
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: org.hibernate.QueryException: unexpected char: '{' [from Modelo.Cliente pr WHERE pr.Data = $P{Data}]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:617)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
at FiltroCliente$1.actionPerformed(FiltroCliente.java:75)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.hibernate.QueryException: unexpected char: '{' [from Modelo.Cliente pr WHERE pr.Data = $P{Data}]
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:204)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.
at org.hibernate.engine.query.HQLQueryPlan.
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:93)
... 37 more