无法在hibernate中使用hql从数据库中获取数据

时间:2015-09-11 11:46:54

标签: java sql spring hibernate hql

我在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;
}

1 个答案:

答案 0 :(得分:-1)

你得到什么错误?或者你得到了什么价值?

一个建议:首先直接在数据库中尝试SQL查询,然后检查您的查询是否正确。