Hibernet - 如何使用某些过滤器执行选择

时间:2016-07-27 14:43:04

标签: hibernate

我需要一些非常简单的东西,但需要你帮助才能做到这一点

我正在使用Hibernate和Oracle数据库,我正在使用“从biossimilar_Entity b中选择b”执行完整查询,如下所示

@SuppressWarnings("unchecked")
public ArrayList<BiossimilarEntity> getAll() {
    Query query = em.createQuery("select b from Biossimilar_Entity b");
    return (ArrayList<BiossimilarEntity>) query.getResultList();
}

但我需要两件事,我需要使用Date Field应用于过滤器;

    @Column(nullable=false)
    @Temporal(TemporalType.DATE)
    private Calendar data_bio;

首先:

我需要按照日期从第一个到最后一个按顺序排列这个列表。例如:01012015然后是01022015,然后是01032015等.DD / MM / YYYY

第二

我需要获得相同的名单,但我只需要过去的12个月....当我今天2016年7月27日获得此列表时,我将需要从2015年7月1日开始的所有月份

有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

实现Native Query更容易:

String stringQuery= "SELECT b from Biossimilar_Entity b WHERE b.data_bio BETWEEN NOW() and DATE_ADD(NOW(),INTERVAL 1 year) ORDER BY b.b.data_bio";

Query query = em.createNativeQuery(stringQuery);