首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@SQLResultSetMapping列未找到问题

@SQLResultSetMapping列未找到问题
EN

Stack Overflow用户
提问于 2019-12-17 03:14:57
回答 1查看 354关注 0票数 0

我有一个这样的查询

代码语言:javascript
复制
                    FROM RUN cr
                    LEFT JOIN OFFER_SET os ON cr.ID = os.RUN_ID
                    LEFT JOIN AA aa ON cr.ID = aa.RUN_ID
                    LEFT JOIN POLICY ex ON cr.ID = ex.RUN_ID
                    WHERE cr.ID = '1d4101ea2'

并创建了一个映射实体,这样我就可以以正确的格式返回结果集。看起来像这样。

代码语言:javascript
复制
@Entity
@SqlResultSetMapping(name="OutcomeDetails",
        entities={
                @EntityResult(entityClass=OutcomeDetailsEntity.class, fields={
                        @FieldResult(name="reason", column="REASON_CD"),
                        @FieldResult(name="status", column="STATUS_CD"),
                        @FieldResult(name="countered", column="COUNTERED_FLG"),
                        @FieldResult(name="id", column="ID"),
                        @FieldResult(name="version", column="VERSION"),
                        @FieldResult(name="createdD", column="CREATED_D"),
                        @FieldResult(name="modifiedD", column="MODIFIED_D"),
                        @FieldResult(name="corrId", column="CORRELATION_ID"),
                        @FieldResult(name="policyId", column="POLICY_ID"),
                        @FieldResult(name="modelId", column="MODEL_ID"),
                        @FieldResult(name="srcId", column="SRC_ID"),
                        @FieldResult(name="refId", column="REF_ID"),
                        @FieldResult(name="serviceName", column="SERVICE_NAME"),
                        @FieldResult(name="policy", column="POLICY"),
                        @FieldResult(name="policyVersion", column="POLICY_VERSION"),
                })
        })

当我在sql控制台中运行这个查询时,它工作得很好。当我在代码中运行它时,我得到了这个错误

Caused by: java.sql.SQLException: Column 'corrId' not found.

代码如下所示

代码语言:javascript
复制
        try {
            Query q = cdsEntityManager.createNativeQuery("SELECT aa.REASON_CD, os.COUNTERED_FLG, ex.STATUS_CD, cr.* " +
                    "FROM RUN cr " +
                    "LEFT JOIN OFFER_SET os ON cr.ID = os.RUN_ID " +
                    "LEFT JOIN AA aa ON cr.ID = aa.RUN_ID " +
                    "LEFT JOIN POLICY ex ON cr.ID = ex.RUN_ID " +
                    "WHERE cr.ID=:id ", OutcomeDetailsEntity.class);
            q.setParameter("id",id);
            result = q.getResultList();
        } catch (Exception exception) {

我环顾了四周,尽管人们也遇到过类似的问题,但没有一个解决方案有效。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 12:49:35

对于以后遇到这种情况的任何人,我需要将name属性和column属性更改为相同的属性,因此如下所示

代码语言:javascript
复制
@Entity
@SqlResultSetMapping(name="OutcomeDetails",
        entities={
                @EntityResult(entityClass=OutcomeDetailsEntity.class, fields={
                        @FieldResult(name="REASON_CD", column="REASON_CD"),
                        @FieldResult(name="STATUS_CD", column="STATUS_CD"),
                        @FieldResult(name="COUNTERED_FLG", column="COUNTERED_FLG"),
                        @FieldResult(name="ID", column="ID"),
                        @FieldResult(name="VERSION", column="VERSION"),
                        @FieldResult(name="CREATED_D", column="CREATED_D"),
                        @FieldResult(name="MODIFIED_D", column="MODIFIED_D"),
                        @FieldResult(name="CORRELATION_ID", column="CORRELATION_ID"),
                        @FieldResult(name="POLICY_ID", column="POLICY_ID"),
                        @FieldResult(name="MODEL_ID", column="MODEL_ID"),
                        @FieldResult(name="SRC_ID", column="SRC_ID"),
                        @FieldResult(name="REF_ID", column="REF_ID"),
                        @FieldResult(name="SERVICE_NAME", column="SERVICE_NAME"),
                        @FieldResult(name="POLICY", column="POLICY"),
                        @FieldResult(name="POLICY_VERSION", column="POLICY_VERSION"),
                })
        })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59362954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档