【问题标题】:How to form an HQL query for one to many relationship and grouping one to many如何为一对多关系和分组一对多形成 HQL 查询
【发布时间】:2017-12-24 05:57:10
【问题描述】:

我需要生成 hql 查询。我的表结构如下所示
A -----一对多-----> B

和我的 oracle 数据库查询

select a.CONF_NUMBER,to_char(max(b.RECEIVE_DATE), 'YYYY-MM-DD hh24:mi:ss')
from A a, B b
where b.RECEIVE_DATE >= to_date('2012-06-07 13:20:28','YYYY-MM-DD hh24:mi:ss') 
group by a.CONF_NUMBER

在这里,我对如何应用 max(b.RECEIVE_DATE) 感到困惑 对子查询在 HQL 中的工作方式感到困惑

【问题讨论】:

  • 不要忘记接受/支持对您有帮助的答案...

标签: hibernate jpa spring-data spring-data-jpa hql


【解决方案1】:

试试这样的:

DTO

public interface NumAndDate {
    String getNumber();
    Date getDate();
}

存储库

public interface ARepository extends JpaRepository<A, Long> {

     @Query("select a.confNumber as number, max(b.receiveDate) as date from A a join a.b b where b.receiveDate >= ?1 group by a.confNumber")
     List<NumAndDate> getDataByDate(Date date);
}

JPQL Language Reference查看更多信息

【讨论】:

    猜你喜欢
    • 2015-03-31
    • 2013-09-19
    • 2016-06-10
    • 2010-11-13
    • 1970-01-01
    • 2016-09-01
    • 2018-01-26
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多