@Gabriel_Meireles escreveu:
Boa tarde, gente estou tentando fazer um select no hibernate com count, o problema é que o hql do hibernate só esta retornando registros quando o sql é esctito como
Query q= session.createQuery(" FROM Aviso_sinistros WHERE CTR_COD_CONTRATO = 52 AND AVS_ENVIO_TRONADOR = 'S' AND AVS_DATA_ENVIO_TRONADOR " + " BETWEEN :start and :end " + " AND COM_TIPO_PESSOA = 'T' group by CTR_COD_CONTRATO, AVS_DATA_ENVIO_TRONADOR, AVS_ENVIO_TRONADOR");
quando escrevo com
Query q= session.createQuery("select CTR_COD_CONTRATO, AVS_DATA_ENVIO_TRONADOR, AVS_ENVIO_TRONADOR FROM Aviso_sinistros WHERE CTR_COD_CONTRATO = 52 AND AVS_ENVIO_TRONADOR = 'S' AND AVS_DATA_ENVIO_TRONADOR " + " BETWEEN :start and :end " + " AND COM_TIPO_PESSOA = 'T' group by CTR_COD_CONTRATO, AVS_DATA_ENVIO_TRONADOR, AVS_ENVIO_TRONADOR");
por algum motivo quando tento rodar o select inteiro ele dá o seguinte erro:
Se alguem puder ajudar fico muito agradecido. segue abaixo as classes e print do erro:
package br.com.connection; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import javax.persistence.TemporalType; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.query.Query; import br.com.model.tabela.Aviso_sinistros; public class TesteConfronto { public static void main(String[] args){ Configuration configuration = new Configuration(); configuration.configure(); SessionFactory factory = configuration.buildSessionFactory(); Session session = factory.openSession(); /* Query q= session.createQuery("from A2000030 where num_poliza in('570012032931')"); */ try{ Query q= session.createQuery("select CTR_COD_CONTRATO, AVS_DATA_ENVIO_TRONADOR, AVS_ENVIO_TRONADOR FROM Aviso_sinistros WHERE CTR_COD_CONTRATO = 52 AND AVS_ENVIO_TRONADOR = 'S' AND AVS_DATA_ENVIO_TRONADOR " + " BETWEEN :start and :end " + " AND COM_TIPO_PESSOA = 'T' group by CTR_COD_CONTRATO, AVS_DATA_ENVIO_TRONADOR, AVS_ENVIO_TRONADOR"); Calendar c = Calendar.getInstance(); c.set(2017, Calendar.MARCH, 8); Date data = c.getTime(); q.setDate("start", data); q.setDate("end", data); List<Aviso_sinistros> avsin = q.getResultList(); for(Aviso_sinistros av:avsin){ Calendar datasin = av.getAVS_DATA_ENVIO_TRONADOR(); SimpleDateFormat formatdatasin = new SimpleDateFormat("yyyy/MM/dd"); String formatted = formatdatasin.format(datasin.getTime()); System.out.println(av.getCTR_COD_CONTRATO()+";"+formatted+";"+av.getAVS_ENVIO_TRONADOR()); } }finally{ session.close(); factory.close(); } } } </code> <code> package br.com.model.tabela; import java.util.Calendar; import java.util.HashSet; import java.util.Set; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.Formula; @Entity @Table(name="AVSINI.AVISO_SINISTROS") public class Aviso_sinistros { @Id private Long CTR_COD_CONTRATO; private Calendar AVS_DATA_ENVIO_TRONADOR; private String AVS_ENVIO_TRONADOR; public Long getCTR_COD_CONTRATO() { return CTR_COD_CONTRATO; } public void setCTR_COD_CONTRATO(Long cTR_COD_CONTRATO) { CTR_COD_CONTRATO = cTR_COD_CONTRATO; } public Calendar getAVS_DATA_ENVIO_TRONADOR() { return AVS_DATA_ENVIO_TRONADOR; } public void setAVS_DATA_ENVIO_TRONADOR(Calendar aVS_DATA_ENVIO_TRONADOR) { AVS_DATA_ENVIO_TRONADOR = aVS_DATA_ENVIO_TRONADOR; } public String getAVS_ENVIO_TRONADOR() { return AVS_ENVIO_TRONADOR; } public void setAVS_ENVIO_TRONADOR(String aVS_ENVIO_TRONADOR) { AVS_ENVIO_TRONADOR = aVS_ENVIO_TRONADOR; } }
Mensagens: 5
Participantes: 3