【问题标题】:Unable to get data from database using hql in hibernate无法在休眠中使用 hql 从数据库中获取数据
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

    • 查询不正确...我无法为我的逻辑编写查询:(
    • 我的问题是:你想将哪两个图像数据相乘,这不是正确的方法。 data d 和 data d1 将指向同一个表,但是当你说 d1.width 和 d.widht 它指向同一个数据时,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多