簡體   English   中英

帶有SqlResultSetMapping的JPA Sql NativeQuery拋出java.sql.SQLException:找不到列'formula3_0_'

[英]JPA Sql NativeQuery with SqlResultSetMapping throwing java.sql.SQLException: Column 'formula3_0_' not found

以下是我的@SqlResultSetMapping的快照,其中包括兩個實體和本機查詢中的另外兩列。

@SqlResultSetMapping(
    name = "EventLogMarketingInfoMapping",
    entities = {
            @EntityResult(
                    entityClass = MarketingInfo.class,
                    fields = {
                            @FieldResult(name = "id", column = "id"),

                            @FieldResult(name = "remoteAddr", column = "remote_addr"),

                            @FieldResult(name = "user_email", column = "user_email"),

                    }
            ),
            @EntityResult(
                    entityClass = EventLog.class,
                    fields = {
                            @FieldResult(name = "log_id", column = "log_id"),

                            @FieldResult(name = "comment", column = "comment"),

                            @FieldResult(name = "client", column = "client_id"),
                            @FieldResult(name = "game", column = "game_id")
                    }
            )

    },
    columns = {
        @ColumnResult(
            name = "user_namex",
            type = String.class
        ),
        @ColumnResult(
            name = "ip",
            type = String.class
        ),
    })

上面的SqlResultSetMapping用以下本機查詢調用

   Query query = entityManager.createNativeQuery(sql, "EventLogMarketingInfoMapping");
   return query.getResultList();

MarketingInfo @Entity也有一些@Forumlas,在@EntityResult中未提及。

而query.getResultList()引發以下異常。

java.sql.SQLException: Column 'formula3_0_' not found.

任何人都可以定義這里發生的事情嗎? 我還想補充一點,sql本身執行良好,並且其中沒有語法錯誤或公式列。

提前致謝。

請添加要觸發的相應sql語句。根據@EntityResult批注,select語句應檢索實體的所有屬性部分並應進行映射。 選擇部分列將創建上述異常。 一種替代方法是使用@ConstructorResult,它允許對父級以及所有關聯的實體對象進行部分列檢索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM