【发布时间】:2014-09-15 13:54:02
【问题描述】:
我有一个表DeviceData,其中列Username, Watts, and CreatedOn,其中CreatedOn 的类型为Datetime (yyyy-MM-dd HH:mm:ss)。所有三列构成一个复合键,并且是 Hibernate 中的一个 @Embeddable 类。
@Embeddable
public class TimeSeriesPowerPK implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String username;
private Integer watts;
private String dateTime;
public TimeSeriesPowerPK(String username, Integer watts, String dateTime) {
this.username = username;
this.watts = watts;
this.dateTime = dateTime;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getWatts() {
return watts;
}
public void setWatts(Integer watts) {
this.watts = watts;
}
public String getDateTime() {
return dateTime;
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
}
我应该如何在如下所示的 DAO 中编写查询,以检索 createdOn 介于当前时间和用户输入的小时数或分钟数之间的行的所有瓦特值?
public List<Integer> getPowerUsageForUser(String minutes) {
List<Integer> powerUsedList = sessionFactory.getCurrentSession().createQuery("***query***").list();
return powerUsedList;
}
非常感谢任何帮助!提前致谢!
编辑:更新问题以检索所有选定行的特定列的值。
【问题讨论】:
标签: java mysql sql hibernate jpa