【发布时间】:2015-09-11 11:46:53
【问题描述】:
我在 Spring Boot 中使用 @Query 并希望从数据库中获取数据。我的数据库中有一个名为 data 的表。它包含具有宽度和高度的图像。我想将一个图像宽度乘以高度,然后将此值添加到另一个图像的宽度*高度。我已经定义了一个大小 221841 并且想要获取图像,直到大小小于我定义的大小。我写了一个查询,但没有得到正确的输出。请给我建议
这是我的查询
@Transactional
public interface DataDao extends CrudRepository<Data, Long> {
@Query(getDataIdMax)
List<Data> getDataIdMax(Long post_id);
final String getDataIdMax= "select d from Data d,Data d1 where d.postId=?1 and d.width*d.height+d1.width*d1.height < 221841";
}
这是我的实体类
@Entity
@Table(name = "data")
public class Data {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(name="p_id")
private long postId;
@Column(name="data_name")
private String dataName;
@Column(name="width")
private long width;
@Column(name="height")
private long height;
//Getters and setters
}
我的控制器
@RequestMapping("/images/{post_id}")
@ResponseBody
public List<Data> getDataIdMax(@PathVariable("post_id") long post_id, HttpServletRequest req, HttpServletResponse res) throws ServletException {
List<Data> postobj = dataDao.getDataIdMax(post_id);
return postobj;
}
【问题讨论】:
标签: java sql spring hibernate hql