Spring Data JPA - агрегатная функция в запросе выбора - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь заставить работать этот nativeQuery, но получаю ошибку SQLGrammarException (даже если запрос работает, когда я запускаю его в консоли postgres). Я думаю, что проблема заключается в отображении агрегата COUNT () - numberOfLocations - в поле Transient на объекте домена. Будем благодарны за любые предложения о том, как заставить этот запрос работать и отобразить в переходное поле @Entity. Вот запрос:

    @Query(value = "select pg.*, count(pg.number) as numberOfLocations from price_group pg " +
        "left join catering_tier ct on ct.number = pg.catering_tier_num " + 
        "left join location l on l.price_group_num = pg.number " +
        "group by pg.id, pg.number, l.price_group_num having " + 
        "l.price_group_num notnull order by pg.number asc;", nativeQuery = true)
    Page<PriceGroup> findAll(Pageable pageable);

PriceGroup Entity:

@Entity
public class PriceGroup extends DomainObject {

@Transient
private int numberOfLocations;

@Transient
public int getNumberOfLocations() {
    return numberOfLocations;
}

@Transient
public void setNumberOfLocations(int numberOfLocations) {
    this.numberOfLocations = numberOfLocations;
}
...