JPA возвращает ResultSet вместо List - PullRequest
0 голосов
/ 01 июля 2019

Вот мой Pojo

    @Entity
@NamedStoredProcedureQuery(name = Portfolio.GET_PORTFOLIO_LIST, procedureName = "VGI_TRADESDBO.TRADELOG_PKG.GET_PORTFOLIO_LIST", resultClasses = Portfolio.class, parameters = {
        @StoredProcedureParameter(type = void.class, mode = ParameterMode.REF_CURSOR) })
public class Portfolio {

    static final String GET_PORTFOLIO_LIST = "GET_PORTFOLIO_LIST";

    @Id
    @Column(name = "fund_id")
    private String fundId; //etc...

, а вот мой репозиторий

public interface PortfolioListRepository extends JpaRepository<Portfolio, String>{
    @Procedure(name = Portfolio.GET_PORTFOLIO_LIST)
    public List<Portfolio> runPortfolioList();
}

И, как ни странно, я получаю ResultSet вместо объектов List of Portfolio.Попытка запустить этот метод runPortfolioList как есть дает Exception in thread "main" java.lang.ClassCastException: oracle.jdbc.driver.ForwardOnlyResultSet cannot be cast to com.vanguard.gis.crims.tso.Portfolio, но работает нормально, когда я переключаю его, чтобы вернуть ResultSet.

Чего мне не хватает, чтобы заставить Spring Magic работать?Или я ничего не пропустил, а Oracle - просто хлопот?

...