[英]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.