Java 休眠为每个组选择最上面一行
嗨,有没有办法通过HQL做到这一点?? 其中,它向我返回DTO列表,而不是对象类列表。 我的sql查询是Java 休眠为每个组选择最上面一行,java,hibernate,jpa,group-by,hql,Java,Hibernate,Jpa,Group By,Hql,嗨,有没有办法通过HQL做到这一点?? 其中,它向我返回DTO列表,而不是对象类列表。 我的sql查询是 select * from readings join (select max(signal) as signal,sender as sr ,receiver as rc from readings group by readings.sender,readings.receiver)a on a.signal=readings.signal
select * from readings join
(select max(signal) as signal,sender as sr ,receiver as rc from readings group by readings.sender,readings.receiver)a
on
a.signal=readings.signal and
a.sr=readings.sender and
a.rc=readings.receiver
这是我的DTO/Bean/Pojo类
public class Readings implements java.io.Serializable {
private Integer id;
private String sender;
private String major;
private String minor;
private int signal;
private BigDecimal power;
private BigDecimal temperature;
private String battery;
private String receiver;
private Date createdDatetime;..
and getters and setters ...
HQL中的哪个是
Criteria cr = session.createCriteria(com.XYZ..Readings.class)
.setProjection(Projections.projectionList()
.add(Projections.max("signal"))
.add(Projections.groupProperty("sender"))
.add(Projections.groupProperty("receiver")));
List<Readings> br=(List<Readings>)cr.list();
Criteria cr=session.createCriteria(com.XYZ..Readings.class)
.setProjection(Projections.projectionList()项目)
.add(最大投影(“信号”))
.add(Projections.groupProperty(“发件人”))
.add(Projections.groupProperty(“接收方”));
List br=(List)cr.List();
这在最后一行失败,试图将对象强制转换为Readings类。因此,
Readings
是DTO而不是实体?请发布上面添加的Readings
class.DTO的代码。。。