Problemas com data <<RESOLVIDO>>

Olá galera!
Tô com um problema ao tentar gravar uma data no PostgreSQL.
Tenho uma classe Pedidos, onde tenho os métodos getData e setData.
Tenho uma classe PedidosController, onde tenho o método cadastrarPedido.
E tenho um formulário, onde eu coleto os dados necessários e passo para a classe PedidosController fazer a inserção no banco. Só que ao tentar gravar no banco dá um erro relativo à data.

Para exemplificar melhor aí vai os códigos:

Erro
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
at Controlller.PedidosController.cadastrarPedido(PedidosController.java:37)
at IntefacesAlmoxarifado.FormCadastroPedido.btSalvarActionPerformed(FormCadastroPedido.java:677)
at IntefacesAlmoxarifado.FormCadastroPedido.access$1400(FormCadastroPedido.java:42)
at IntefacesAlmoxarifado.FormCadastroPedido$15.actionPerformed(FormCadastroPedido.java:315)
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.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
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.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)

Classe PedidosController

[code]public void cadastrarPedido() throws SQLException{
Conexao banco = new Conexao();

    banco.abrirConexao();

    String query = "INSERT INTO \"PEDIDOS\" (\"PED_DATA\", \"PED_TOTAL\", \"PED_IDUNIDADE\") VALUES (?, ?, ?)";
    try{
        banco.stmt = banco.conexao.prepareStatement(query);
        
       banco.stmt.setDate(1,(Date) this.pedido.getData());//O erro é apontado aqui!
        banco.stmt.setInt(2, this.pedido.getTotal());
        banco.stmt.setInt(3, this.pedido.unidade.getId());
        banco.stmt.execute();
        banco.conexao.commit();
        banco.stmt.close();
    }catch (SQLException e){
        banco.conexao.rollback();
        JOptionPane.showMessageDialog(null, e.getMessage());
    }

    banco.fecharConexao();
}[/code]

Formulário

PedidosController pedido = new PedidosController();
FormatoData data = new FormatoData();//USADO PARA FORMATAR A DATA NO SEGUINTE FORMATO: yyyy-MM-dd

pedido.getPedido().setData(data.getData(tfData.getText()));

//É acionado no momento em que o usuário clica no botão salvar
//Posue mais código, no entanto não interfere

Classe para formatar data

public class FormatoData {

    String data_br;
    java.util.Date data;
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

    public String getDataBR(java.util.Date data) {

        try {
            data_br = df.format(data);
        }
        catch (Exception e) {
            data_br = "";
        }

        return data_br;
    }

    public java.util.Date getData(String data_br) {

        try {
           data = df.parse(data_br.trim());
        } catch (ParseException ex) {
           data = null;
        }

        return data;
    }
}

O erro é o seguinte:

Alguém pode me ajudar?
T+

Se for usar JDBC normal, use o java.sql.Date ao invés do java.util.Date

Abs.

http://java.sun.com/javase/6/docs/api/java/sql/Date.html

Para converter um java.util.Date em um java.sql.Date, use o construtor que recebe um long. Exemplo:

java.util.Date d = new java.util.Date();
java.sql.Date dt = new java.sql.Date (d.getTime());

Cara, o que vc esta fazendo eh:

java.util.Date outraData = new Date();
java.sql.Date minhaData = outraData;

entao vc tem um ClassCastException na linha 37 da classe PedidosController

Sugiro que se vc for trabalhar como java.sql.Date, nao use o java.util.Date. Esse problema ehmais comum do que vc pensa!..rs

ate mais

[quote=thingol]http://java.sun.com/javase/6/docs/api/java/sql/Date.html

Para converter um java.util.Date em um java.sql.Date, use o construtor que recebe um long. Exemplo:

java.util.Date d = new java.util.Date(); java.sql.Date dt = new java.sql.Date (d.getTime()); [/quote]

Funcionou direitinho fazendo a conversão!
Obrigado a todos pela ajuda!