JPA (TopLink) e campo Data

10 respostas
UpTheIrons

Olá pessoal,

Como faço pra filtrar por data esta consulta abaixo?

Lembrando q a assinatura do meu método tem um parametro do tipo data “Date dataEmissao”.

Se fosse como o basicão, seria assim:

List<MovPedido> lsPedido = em.createQuery("Select p FROM MovPedido p ORDER BY p.pedidoId WHERE p.emissaoData >=" + emissaoData).getResultList();

Mas n vai, já tentei aplicar o pokin de SQL q conheço, mas n resolveu neca!

Se alguém puder ajudar, desde já agradeço.

Falew.

10 Respostas

rod

coloque o ORDER BY depois do WHERE ! :wink:

UpTheIrons

Opa,

Xo v se no código eu dei esse vacilo *r

UpTheIrons

Caramba, tava errado mesmo.
Desculpe-me pela vergonha q passei *rrr, mas continua n funcionando.

em.createQuery("Select p FROM MovPedido p WHERE p.dataEmissao >=" + dataEmissao + " ORDER BY p.pedidoId").getResultList();
LeoMarola

Poderia por a stacktrace completa ? qual a Root Cause ?

Até aí essa mensagem de erro não ajuda em nada :smiley:

flws

UpTheIrons

:smiley: tá certo!

Dê uma olhadinha aí.

<blockquote>An exception occured while creating a query in EntityManager

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at br.com.yeld.jcontasfv.pedido.ifrmPedidoLista.PreencheTabela(ifrmPedidoLista.java:111)

at br.com.yeld.jcontasfv.pedido.ifrmPedidoLista.(ifrmPedidoLista.java:79)

at jcontasfv.frmContasFV.jMenuItem2ActionPerformed(frmContasFV.java:281)

at jcontasfv.frmContasFV.access$100(frmContasFV.java:36)

at jcontasfv.frmContasFV$3.actionPerformed(frmContasFV.java:109)

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.AbstractButton.doClick(AbstractButton.java:357)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)

at java.awt.Component.processMouseEvent(Component.java:6134)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5899)

at java.awt.Container.processEvent(Container.java:2023)

at java.awt.Component.dispatchEventImpl(Component.java:4501)

at java.awt.Container.dispatchEventImpl(Container.java:2081)

at java.awt.Component.dispatchEvent(Component.java:4331)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)

at java.awt.Container.dispatchEventImpl(Container.java:2067)

at java.awt.Window.dispatchEventImpl(Window.java:2458)

at java.awt.Component.dispatchEvent(Component.java:4331)

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)</blockquote>

É o q acontece.

bland

Aparentemente o seu EntityManager está nulo no instante que ele está sendo utilizado.
Posta aqui onde você está utilizando-o.

Abraço

UpTheIrons

Então Leo,

Não é, pq se tiro o “filtro”, a consulta flui normalmente.

bland

Ficaria muito mais simples e fácil de te ajudar se você postar o seu código aqui.

Abraço.

LeoMarola

Up,

Já que acontece isso, experimente setar parâmetros no Objecto Quary ao invés ao invés de “embutir” na String … se vai resolvei o problema eu nao sei, mas começamos pelas boas práticas :smiley:

Já utilizei JPA fazendo vários filtros dentre estes campos data e funcionou perfeitamente!

Ahhhh,

A nivel de DEBUG, quebre em 2 passos: Um para a criar a query, e outro para o getResultList();

Provavelmente o erro e no 1º passo, ele não faz nem sua query.

Flw!

UpTheIrons

Blz!

Valeu pelas dica “A nivel de DEBUG, quebre em 2 passos: Um para a criar a query, e outro para o getResultList();”

Mais tarde volto com os resultados.

Falew!

Criado 4 de fevereiro de 2009
Ultima resposta 5 de fev. de 2009
Respostas 10
Participantes 4