StringBuilder sql = new StringBuilder("from UsuarioTO a inner join fetch a.associacoesSupervisor as s ");
sql.append("where a.codBarras like 'S-%' and a.estado = 1 ");
// aqui e onde eu add a linha para pegar a data
então brother fiz assim mais esta dando erro ainda tem algo que fiz de errado ?
StringBuilder sql = new StringBuilder("from UsuarioTO a inner join fetch a.associacoesSupervisor as s ");
sql.append("where a.codBarras like 'S-%' and a.estado = 1 ");
sql.append("and s.dtDevolucaoSupervisor = :'data'" );
Query query = session.createQuery(sql.toString());
query.setParameter("data", data);
resultado = query.list();
erro
ERROR[STDERR]org.hibernate.hql.ast.QuerySyntaxException:expectingIDENT,found''data''nearline1,column173[from com.oesia.parkingrio.usuario.to.UsuarioTO a inner join fetch a.associacoesSupervisor as s where a.codBarras like 'S-%' and a.estado = 1 and s.dtDevolucaoSupervisor = :'data']
ignacio83
sim… Tire as aspas do :data.
:qualquerCoisa é apenas um identificador… semelhante ao ?.
StringBuilder sql = new StringBuilder("from UsuarioTO a inner join fetch a.associacoesSupervisor as s ");
sql.append("where a.codBarras like 'S-%' and a.estado = 1 ");
sql.append("and s.dtDevolucaoSupervisor = :data" );
Query query = session.createQuery(sql.toString());
query.setParameter("data", data);
resultado = query.list();
R
robsonsan
ai Brother finalmente deu certo eu alterei e vou postar aqui para a galera que tiver o mesmo problema
valeu pela ajuda
StringBuilder sql = new StringBuilder("from UsuarioTO a inner join fetch a.associacoesSupervisor as s ");
sql.append("where a.codBarras like 'S-%' and a.estado = 1 ");
sql.append("and s.dtDevolucaoSupervisor BETWEEN :dtInicial AND :dtFinal" );
Query query = session.createQuery(sql.toString());
Date dtInicial = (Date)data.clone();
dtInicial.setHours(00);
dtInicial.setMinutes(00);
dtInicial.setSeconds(00);
Date dtFinal = (Date)data.clone();
dtFinal.setHours(23);
dtFinal.setMinutes(59);
dtFinal.setSeconds(59);
query.setParameter("dtInicial", dtInicial);
query.setParameter("dtFinal", dtFinal);
resultado = query.list();