Skip to content

Issue with Column Alias mapping to projection in R2dbcRepository Query #1757

Open
@jaykakkad69

Description

@jaykakkad69

Hi Team,

I have created this query in repository with appropriate java class for projection. When query is executed, i am getting null in walmartYearWeek.

@Query("""
           SELECT DISTINCT ON (com_yr_wk) com_yr_wk as walmart_year_week, com_start_date as walmart_week_start_date
           FROM calendar_meta
           WHERE calendar_date BETWEEN :startDate AND :endDate
           ORDER BY com_yr_wk
            """)
    Flux<WalmartCalendarWeek> findWalmartYearWeekDistinctByDateBetween(LocalDate startDate, LocalDate endDate);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalmartCalendarWeek {

        Integer walmartYearWeek;
        LocalDate walmartWeekStartDate;
}

Then, i tried following query and class and now the value is coming as expected in walmarYearWeek.

@Query("""
           SELECT DISTINCT ON (com_yr_wk) com_yr_wk as walmar_year_week, com_start_date as walmart_week_start_date
           FROM calendar_meta
           WHERE calendar_date BETWEEN :startDate AND :endDate
           ORDER BY com_yr_wk
            """)
    Flux<WalmarCalendarWeek> findWalmarYearWeekDistinctByDateBetween(LocalDate startDate, LocalDate endDate);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalmarCalendarWeek {

        Integer walmarYearWeek;
        LocalDate walmartWeekStartDate;
}

To conclude, walmart_year_week alias is not working but walmar_year_week or any other alias works

NOTE: Above issue is not there with org.springframework.boot:spring-boot-starter-parent:3.2.0.

I have created sample repo to reproduce this behaviour
https://github.com/jaykakkad69/r2dbc-demo

  • Added a data.sql file to create database and populate test data
  • There are two end points to test each query
  • Please change the credentials accordingly in PostgresConfiguration

Thanks.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions