0
我使用,在DaoImplementation一个SQL查询(因为我不能使用HQL或条件找到如何解决它)。的Spring MVC +休眠+ IN子句从列表
我有一个List对象,我需要使用List的元素以SQL IN子句,但我不知道浩做...
这是我的DAO方法实施
public List<Illuminazione> showLightsSituationsByUser(List<Park> parks) {
Query pianiQuery = getSession().createQuery("from Piano p where p.park = :parks");
pianiQuery.setParameterList("parks", parks);
List <Piano> piani = pianiQuery.list();
Query luciQuery = getSession().createQuery("from Luce l where l.piano in :piani");
luciQuery.setParameterList("piani", piani);
List<Luce> luci = luciQuery.list();
String query = "select i.id_evento, i.id_luce, i.last_date_time, l.numero_luce, l.nome_luce, ill.MaxDate, i.isLit ";
query += "from illuminazione i inner join luci l on i.id_luce= l.id_luce and l.id_piano in "+luci+" ";
query += "inner join (SELECT `id_luce` as numeroLuce2, max(date_time) as MaxDate from illuminazione i2 group by `i2`.`id_luce`) ill ";
query += "on i.id_luce = ill.`numeroLuce2` and i.`date_time` = ill.MaxDate order by i.`id_luce` asc";
SQLQuery q = getSession().createSQLQuery(query);
q.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
List<Illuminazione> lista = q.list();
return lista;
}
从第2个查询我得到的名单,我需要(荧光素酶),然后从最后一个查询(这是一个有点难看,我承认)我通过从列表中把他们拉近结果荧光素酶。显然,我的luci表有一个id_piano字段。
我怎样才能达到我需要什么?由于