From 01b642592a79af29378ba302b8130c1dc879bfed Mon Sep 17 00:00:00 2001 From: "thiago.clemente" Date: Thu, 10 Oct 2019 20:57:52 +0000 Subject: [PATCH] fixes bug#16379 dev: qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@98207 d1611594-4594-4d17-8e1d-87c2c4800839 --- ...ositivoEmbarcadaHistoricoHibernateDAO.java | 22 ++++++++++++++----- .../DispositivoEmbarcadaHistorico.java | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHistoricoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHistoricoHibernateDAO.java index 893fb99f1..70a24f8e6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHistoricoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHistoricoHibernateDAO.java @@ -4,6 +4,7 @@ import java.util.List; import org.hibernate.Criteria; import org.hibernate.HibernateException; +import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; @@ -15,7 +16,6 @@ import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.DispositivoEmbarcadaHistoricoDAO; -import com.rjconsultores.ventaboletos.entidad.DispositivoEmbarcada; import com.rjconsultores.ventaboletos.entidad.DispositivoEmbarcadaHistorico; @Repository("dispositivoEmbarcadaHistoricoDAO") @@ -59,14 +59,24 @@ public class DispositivoEmbarcadaHistoricoHibernateDAO extends GenericHibernateD return entity; } + @SuppressWarnings("unchecked") @Override public List buscarHistoricoDispositivoPorId(Long dispositivoId) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.eq("dispositivoEmbarcada.dispositivoEmbarcadaId", dispositivoId)); - c.addOrder(Order.desc("dispositivoEmbarcadaHistId")); + // Criteria c = getSession().createCriteria(getPersistentClass()); + // c.add(Restrictions.eq("activo", Boolean.TRUE)); + // c.add(Restrictions.eq("dispositivoEmbarcada.dispositivoEmbarcadaId", dispositivoId)); + // c.addOrder(Order.desc("dispositivoEmbarcadaHistId")); + // + // return (List)c.list(); - return (List)c.list(); + // Mantis 16258 + // Query acima continha muitos joins fetchs desnecessários a partir de EMPRESA, que foram criados de forma não explícita. + // Assim a query retornava um número de registros além do real e não conseguia converter para a lista de DispositivoEmbarcadaHistorico + final String hql = "select dh from DispositivoEmbarcadaHistorico dh join fetch dh.dispositivoEmbarcada de where de.dispositivoEmbarcadaId = :dispositivoEmbarcadaId order by dh.dispositivoEmbarcadaHistId"; + Query query = getSession().createQuery(hql); + query.setParameter("dispositivoEmbarcadaId", dispositivoId); + + return query.list(); } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcadaHistorico.java b/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcadaHistorico.java index 2e48f943f..9b2226eee 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcadaHistorico.java +++ b/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcadaHistorico.java @@ -28,7 +28,7 @@ public class DispositivoEmbarcadaHistorico { @JoinColumn(name = "DISPOSITIVOEMBARCADA_ID", referencedColumnName = "DISPOSITIVOEMBARCADA_ID") @ManyToOne private DispositivoEmbarcada dispositivoEmbarcada; - @Column(name = "DESCRICAO") + @Column(name = "DESCRICAO", length = 500) private String descricao; @Column(name = "ACTIVO") private Boolean activo;