Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠为每个组选择最上面一行_Java_Hibernate_Jpa_Group By_Hql - Fatal编程技术网

Java 休眠为每个组选择最上面一行

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

嗨,有没有办法通过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 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的代码。。。