Hello guys!!!
I have a mysql table called INTEGRANTE with a date field mapped :
Code:
@Temporal(TemporalType.DATE)
@Column(name = "INTE_DT_ULTIMA_RENOVACAO_SMV", nullable=true)
private Date dataUltimaRenovacaoSmv;
I built the following query:
Code:
Map<String, Object> map = new HashMap<String, Object>();
texto
.append(" select distinct i from {Integrante} i ")
.append(" where 1=1 ");
if (diasVencimentoSmv!=null) {
Date hoje = DateUtils.truncate(new Date(), Calendar.DATE);
Calendar calendar = Calendar.getInstance();
calendar.setTime(hoje);
calendar.add(Calendar.DAY_OF_MONTH, diasVencimentoSmv);
Date vencimento = DateUtils.truncate(calendar.getTime(), Calendar.DATE);
String interval = "DATE_ADD(DATE(i.{dataUltimaRenovacaoSmv}), INTERVAL 1 YEAR)";
texto.append(" and (:interval BETWEEN :hoje AND :vencimento) ");
map.put("hoje", hoje);
map.put("vencimento", vencimento);
map.put("interval", interval);
}
texto.append(" order by u.{nome} ");
String hql = texto.toString();
hql = hql.replace("{Integrante}", Integrante.class.getSimpleName())
.replace("{dataUltimaRenovacaoSmv}", Integrante.PROPRIEDADE_DATA_ULTIMA_RENOVACAO_SMV)
.replace("{nome}", Usuario.PROPRIEDADE_NOME);
this.setText(hql);
setParameters(map);
directly run the generated sql returns data, but through the application using hibernate returns nothing.
what might be wrong?
help, please!!!