Это очень конкретный случай c.
Используя SpEL, вы можете сделать
@Projection(name = "some", types = {User.class})
public interface SomeProjection {
@Value("#{target.serviceItems}")
Set<ServiceItemPayslipProjection> getServiceItems();
}
и вернуть ему указанное поле c в виде вложенной проекции. Все отлично работает
Но когда вы вызываете метод внутри SpEL, проекция игнорируется
@Projection(name = "some", types = {User.class})
public interface SomeProjection {
@Value("#{target.processServiceItems()}")
Set<ServiceItemPayslipProjection> getServiceItems();
}
processServiceItems вызывается правильно, но возвращенный JSON больше не в формате ServiceItemPayslipProjection, но базовый исходный объект (ServiceItem) вместо этого.
Есть ли обходной путь?