2017-07-19 1 views
0

J'ai besoin de générer une requête hql. Ma structure de table est donné ci-dessous
A ----- un à plusieurs ------> BComment former une requête HQL pour une relation à plusieurs et grouper un à plusieurs

et mon oracle db requête

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 

Ici, je suis confondu avec le fait que comment le max (b.RECEIVE_DATE) peut être appliqué Confus sur la façon dont les travaux de sous-requête HQL

+0

Ne pas oublier d'accepter/upvote les réponses qui vous ont aidé ... – Cepr0

Répondre

1

Essayez quelque chose comme ceci:

DTO:

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

Repository:

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); 
} 

Voir plus d'informations à JPQL Language Reference