0

@ConstructorResult で @SqlResultSetMapping を使用して、ストアド プロシージャの結果を非エンティティ POJO にマップしようとしています。これが私のコードです:

@MappedSuperclass
@SqlResultSetMapping(name = "Testing", classes = @ConstructorResult(targetClass = Testing.class, columns = {
        @ColumnResult(name = "TTEAM_ID", type = Integer.class),
        @ColumnResult(name = "VDATE", type = BigInteger.class),
        @ColumnResult(name = "Days_in_Field", type = Integer.class),
        @ColumnResult(name = "Expected_cummilative_Number_of_HH", type = Integer.class),
        @ColumnResult(name = "Cummlative_HH_Reached",type = Integer.class),
        @ColumnResult(name = "HH_Reached_for_day",type = Integer.class),
        @ColumnResult(name = "HHs_Finalised_for_day", type = Integer.class),
        @ColumnResult(name = "Number_of_HH_in_process_for_day", type = Integer.class),
        @ColumnResult(name = "Number_of_HH_Refused_for_day",type = Integer.class),
        @ColumnResult(name = "Number_of_Revisits_Scheduled_for_day", type = Integer.class),
        @ColumnResult(name = "HH_loss_3rd_visit_attempt_refusals_for_day", type = Integer.class)}))

public class Testing {

    private Integer tteam_id;
    private Integer vdate;
    private Integer days_in_field;
    private Integer Expected_cummilative_Number_of_HH;
    private Integer Cummlative_HH_Reached;
    private Integer HH_Reached_for_day;
    private Integer HHs_Finalised_for_day;
    private Integer Number_of_HH_in_process_for_day;
    private Integer Number_of_HH_Refused_for_day;
    private Integer Number_of_Revisits_Scheduled_for_day;
    private Integer HH_loss_3rd_visit_attempt_refusals_for_day;

    public Testing(Integer tteam_id,
                   Integer vdate,
                   Integer Expected_cummilative_Number_of_HH,
                   Integer Cummlative_HH_Reached,
                   Integer HH_Reached_for_day,
                   Integer HHs_Finalised_for_day,
                   Integer Number_of_HH_in_process_for_day,
                   Integer Number_of_HH_Refused_for_day,
                   Integer Number_of_Revisits_Scheduled_for_day,
                   Integer HH_loss_3rd_visit_attempt_refusals_for_day ) {
        this.tteam_id = tteam_id;
        this.vdate = vdate;
        this.Expected_cummilative_Number_of_HH = Expected_cummilative_Number_of_HH;
        this.Cummlative_HH_Reached = Cummlative_HH_Reached;
        this.HH_Reached_for_day = HH_Reached_for_day;
        this.HHs_Finalised_for_day = HHs_Finalised_for_day;
        this.Number_of_HH_in_process_for_day = Number_of_HH_in_process_for_day;
        this.Number_of_HH_Refused_for_day = Number_of_HH_Refused_for_day;
        this.Number_of_Revisits_Scheduled_for_day = Number_of_Revisits_Scheduled_for_day;
        this.HH_loss_3rd_visit_attempt_refusals_for_day = HH_loss_3rd_visit_attempt_refusals_for_day;
    }
//getter  and setters

次に、ストアドプロシージャを呼び出します

public List<Testing> getDailyAchievements(){
        List list;
        StoredProcedureQuery query = entityManager.createStoredProcedureQuery("dailyreports", "Testing");
        try {
            // Execute query
            query.execute();
            list = query.getResultList();
        } finally {
            try {
                query.unwrap(ProcedureOutputs.class).release();
            } catch (Exception e) {
            }
        }
        return list;
    }

私はエラーを取得してしまいます

クラスに適切なコンストラクターが見つかりませんでした: com.ram.Testing

アプリケーションをデバッグしようとすると、エラーが発生します

com.microsoft.sqlserver.jdbc.SQLServerException: ステートメントは閉じられています。

これを含むいくつかのリソースを見つけました: @ConstructorResult マッピングしかし、まだ運がありません。

私は何が欠けていますか?コンストラクタが見つからないのはなぜですか?

4

0 に答える 0