gente este é o codigo da minha janela listar vendas porem ao listar pela data apresenta este erro abaixo fala que esta entrando string mais aonde esta e ntrando string o que eu posso fazer
pra funcionar a busca? obrigada
mport java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import datechooser.beans.DateChooserCombo;
import Modelo.Med;
import Modelo.VendaProduto;
public class ListarVendas extends JFrame {
private JTextArea area;
private JScrollPane j1;
private JButton fechar;
// Objetos utilizados para
// procura pela descrição informada
private JLabel labelprocura;
private JButton consulta;
DateChooserCombo f = new DateChooserCombo();
private static EntityManagerFactory emf;
private static EntityManager em;
DefaultTableModel modelo;
private JTextField totalmedidas,totalvalor;
private JButton button;
//private JTextField mediaano;
public ListarVendas(EntityManagerFactory f1, EntityManager e1)
{
super("Listar Vendas Efetuadas");
Container c = getContentPane();
getContentPane().setLayout(null);
emf = f1;
em = e1;
//area = new JTextArea();
//j1 = new JScrollPane(area);
JButton fechar = new JButton("Fechar");
labelprocura = new JLabel("Busca por Data");
f = new DateChooserCombo();
totalmedidas = new JTextField();
totalvalor = new JTextField();
//mediaano = new JTextField();
consulta = new JButton("Executar");
labelprocura.setBounds(10, 10, 150, 20);
f.setBounds(132, 10, 150, 20);
consulta.setBounds(292, 10, 100, 20);
//area.setBounds(50, 20, 400, 300);
// Definir o posicionamento do JScrollPane,
// pois dentro dele está o area que é um JTextArea
modelo = new
DefaultTableModel();
// constrói a tabela
JTable tabela = new JTable(modelo);
// Cria duas colunas
modelo.addColumn("Código");
modelo.addColumn("Data");
modelo.addColumn("Nome do Vendedor");
modelo.addColumn("Descriçao");
modelo.addColumn("Quantidade");
modelo.addColumn("Valor");
modelo.addColumn("Total");
tabela.getColumnModel().getColumn(0).setPreferredWidth(5);
tabela.getColumnModel().getColumn(1).setPreferredWidth(40);
tabela.getColumnModel().getColumn(2).setPreferredWidth(100);
tabela.getColumnModel().getColumn(3).setPreferredWidth(100);
tabela.getColumnModel().getColumn(4).setPreferredWidth(10);
tabela.getColumnModel().getColumn(5).setPreferredWidth(50);
tabela.getColumnModel().getColumn(6).setPreferredWidth(50);
//j1.setBounds(50, 60, 400, 380);
fechar.setBounds(10, 410, 110, 25);
fechar.addActionListener (new ActionListener()
{
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
dispose();
}
});
consulta.addActionListener (new ActionListener()
{
public void actionPerformed(ActionEvent arg0) {
List <VendaProduto> lista = null;
List resultList;
if (f.getText().trim().equalsIgnoreCase(""))
resultList= em.createQuery("from VendaProduto").getResultList();
else // Senão ele digitou alguma coisa na procura
{
Query consulta =
em.createQuery("SELECT i FROM VendaProduto i WHERE UPPER(i.data) LIKE :argumento");
consulta.setParameter("argumento", "%" + f.getText().toUpperCase() + "%");
resultList= consulta.getResultList();
}
lista = resultList;
StringBuilder sb = new StringBuilder();
if (lista.isEmpty())
{
sb.append("Não há vendas cadastradas!");
}
else
{
double soma = 0;
for (VendaProduto med : lista) {
sb.append("Código: " + med.getCodigo() + "\n");
sb.append("Data: " + converteData(med.getData()) + "\n");
sb.append("Nome do Vendedor: " + med.getNomevendedor() +"\n");
sb.append("Descrição: " + med.getDescricao()+ "\n");
sb.append("Quantidade:" + med.getQtde()+ "\n");
sb.append("Valor: " + med.getValor()+ "\n");
sb.append("Total: " + med.getTotal()+ "\n");
// Adiciona uma linha)
modelo.addRow(new Object[]{med.getCodigo(),converteData(med.getData()), med.getNomevendedor(), med.getDescricao(),med.getQtde(),med.getValor(),med.getTotal()});
soma += med.getValor();
}
sb.append("Total de Vendas Efetuadas = " + lista.size()+"\n\n");
//sb.append("Média dos Anos dos Carros = " + soma/lista.size());
sb.append("Total do Valor de Vendas = " +soma+lista.size()+"\n\n");
totalmedidas.setText("Total de Vendas Efetuadas = " + lista.size());
totalvalor.setText("Total do valor de vendas =" +soma);
//mediaano.setText("Média dos Clientes Cadastrados = " + soma/lista.size());
}
//area.setText(sb.toString());
}
private String converteData(Calendar data) {
// TODO Auto-generated method stub
return new SimpleDateFormat("dd/MM/yyyy").format(new Date().getTime());
}
});
tabela.setPreferredScrollableViewportSize(new
Dimension(1000, 1000));
JScrollPane scrollPane = new JScrollPane(tabela);
scrollPane.setBounds(10, 44, 984, 300);
totalmedidas.setBounds(10, 355, 990, 20);
totalvalor.setBounds(10, 385, 990, 20);
c.add(scrollPane);
c.add(totalmedidas);
c.add(totalvalor);
c.add(labelprocura);
c.add(f);
c.add(consulta);
//c.add(area);
//c.add(j1);
c.add(fechar);
button = new JButton("Limpar");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int x = modelo.getRowCount();
for(int a = 0; a < x; a++)
{
modelo.removeRow(0);
}
}
});
button.setBounds(132, 410, 110, 25);
getContentPane().add(button);
setSize(1023,500);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
}
}
erro
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Calendar
at org.hibernate.type.CalendarDateType.toString(CalendarDateType.java:49)
at org.hibernate.type.NullableType.nullSafeToString(NullableType.java:93)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:140)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:116)
at org.hibernate.param.NamedParameterSpecification.bind(NamedParameterSpecification.java:38)
at org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:491)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1563)
at org.hibernate.loader.Loader.doQuery(Loader.java:673)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:66)
at ListarVendas$2.actionPerformed(ListarVendas.java:129)
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)