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
master
thiago.clemente 2019-10-10 20:57:52 +00:00
parent 2bbb071293
commit 01b642592a
2 changed files with 17 additions and 7 deletions

View File

@ -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<DispositivoEmbarcadaHistorico> 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<DispositivoEmbarcadaHistorico>)c.list();
return (List<DispositivoEmbarcadaHistorico>)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();
}
}

View File

@ -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;