[quote=felipempantoja]Aparentemente o erro nem é por parte do Criteria do Hibernate, dá dando um NullPointerException…
Caused by: java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1075)
at br.com.swej.util.DateUtils.lowDateTime(DateUtils.java:23)
at br.com.swej.dao.AudienciaDAO.pesquisaAudiencias(AudienciaDAO.java:72)
at br.com.swej.bean.AudienciaBean.getBuscaAudiencia(AudienciaBean.java:121)
Dá uma debugada no seu método lowDateTime da sua classe DateUtils e vê se ele realmente tá retornando alguma coisa… Provavelmente os parâmetros data_audiencia ou data_peticao estão chegando nulos no método pesquisaAudiencias…[/quote]
Pois é felipe, quando reportei o erro naum tinha usado ainda essa classe…depois q a inclui no projeto, fiz a alteração daquela criteria para isso:
[code]@SuppressWarnings(“unchecked”)
public List<Audiencia> pesquisaAudiencias2(Date data_audiencia,
Date data_peticao, String anotacoes, Processo processo) {
Criteria c = session.createCriteria(Audiencia.class);
c.add(Restrictions.between(“data_audiencia”, DateUtils
.lowDateTime(data_audiencia), DateUtils
.highDateTime(data_audiencia)));
c.add(Restrictions.between(“data_peticao”, DateUtils
.lowDateTime(data_peticao), DateUtils
.highDateTime(data_peticao)));
c.add(Restrictions.ilike(“anotacoes”, “%” + anotacoes + “%”));
c.add(Restrictions.ilike(“processo”, “%” + processo + “%”));
c.addOrder(Order.asc(“data_audiencia”));
return c.list();
}[/code]
O erro que me retorna é esse:
Caused by: java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1075)
at br.com.swej.util.DateUtils.lowDateTime(DateUtils.java:23)
at br.com.swej.dao.AudienciaDAO.pesquisaAudiencias2(AudienciaDAO.java:85)
at br.com.swej.bean.AudienciaBean.getBuscaAudiencia(AudienciaBean.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
at org.apache.el.parser.AstEmpty.getValue(AstEmpty.java:45)
at org.apache.el.parser.AstNot.getValue(AstNot.java:42)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
... 38 more
Um colega me disse para retirar as “%” da primeira tentativa. eu alterei e ficou assim:
[code]@SuppressWarnings(“unchecked”)
public List<Audiencia> pesquisaAudiencias(Date data_audiencia,
Date data_peticao, String anotacoes, Processo processo) {
Criteria c = session.createCriteria(Audiencia.class);
c.add(Restrictions.eq(“data_audiencia”, data_audiencia));
c.add(Restrictions.eq(“data_peticao”, data_peticao));
c.add(Restrictions.ilike(“anotacoes”, “%” + anotacoes + “%”));
c.add(Restrictions.ilike(“processo”, “%” + processo + “%”));
c.addOrder(Order.asc(“data_audiencia”));
return c.list();
}[/code]
e me retorna esse erro:
Caused by: java.lang.IllegalArgumentException: Can not set java.lang.Long field br.com.swej.estrutura.Processo.id to java.lang.String
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150)
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37)
at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:18)
at java.lang.reflect.Field.get(Field.java:358)
at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:32)
... 70 more
hehehe, ô trem dificil…
ah, e detalhe: sempre q eu insiro a data no banco, por exemplo: 02/02/2010, no banco fica sempre no dia anterior… to percebendo muita dificuldade em trabalhar com data no banco e nas criterias…
Eae pessoal, alguma sugestão??