如何在Hibernate中创建此查询?

时间:2014-11-11 13:54:59

标签: java hibernate criteria detachedcriteria

我有一个SQL查询,我想把它翻译成Hibernate,属性组让我疯狂:

select idestadoseccion,estado_1,estado_2,estado_3,estado_4,estado_5,fechaalta,idpaciente from estado_secciones 
where fechaalta between ? and ? and idestadoseccion 
in (select max(idestadoseccion) from estado_secciones where (estado_1=0 or estado_2=0 or estado_3=0 
or estado_4=0) group by idpaciente)

2 个答案:

答案 0 :(得分:0)

Hibernate将返回的值映射到POJO,您应该指定在结果中看到的内容,并为estado_secciones和idestadoseccion表添加POJO的代码。 之后,可以将此请求重写为HQL。

答案 1 :(得分:0)

好的我通过创建本机SQL查询来解决它。问题是我无法使用hibernate按属性添加组。如果我使用带有Projection的detachedcriteria,Hibernate在选择句子中包含group by属性

  

从estado_secciones中选择max(idestadoseccion), idpaciente ,其中(estado_1 = 0或estado_2 = 0或estado_3 = 0   或者estado_4 = 0)由idpaciente分组

我不希望如此。我只需要在group by子句

中添加它