打开JPA结果集映射
我有一个名为order的实体,它包含10列,还有嵌入的id(复合键)列,其中包含实体顺序中的5个字段 这是我的sql查询打开JPA结果集映射,jpa,sqlresultsetmapping,Jpa,Sqlresultsetmapping,我有一个名为order的实体,它包含10列,还有嵌入的id(复合键)列,其中包含实体顺序中的5个字段 这是我的sql查询 <named-native-query name="OrderQuery" result-set-mapping="OrderQueryResultSetMapping"> <query> <![CDATA[SELECT t0.colum2, t0.column4, to.embededid.colum3, e mbededid.co
<named-native-query name="OrderQuery" result-set-mapping="OrderQueryResultSetMapping">
<query>
<![CDATA[SELECT t0.colum2, t0.column4, to.embededid.colum3, e mbededid.colum1, FROM order t0 WHERE t0.orderid = ?1 ]]>
</query>
</named-native-query>
我在查询执行中没有问题,但在sqlResultSetMapping
中出现错误。我有以下错误
Exception in thread "main" <openjpa-2.4.0-r422266:1674604 fatal general error>
org.apache.openjpa.persistence.PersistenceException: [jcc][t4][10145][10897]
[3.58.81] Invalid parameter 0: Parameter index is out of range. ERRORCODE=-4461, SQLSTATE=42815
线程“main”中出现异常
org.apache.openjpa.persistence.PersistenceException:[jcc][t4][10145][10897]
[3.58.81]无效的参数0:参数索引超出范围。ERRORCODE=-4461,SQLSTATE=42815
我们能做这种映射吗?如果是这样,客户端如何知道作为此查询的一部分,订单实体填充了哪些列?好的,您可能已经自己解决了这个问题,但您的查询中存在一些输入错误:
可能应该是to.embeddedId.column3
(这就是它在映射中的名称,否则应该在映射中更改它)to.embeddedId.column3
- SELECT在FROM之前以逗号结束,这是无效的SQL
- 您的映射有
,1不应该在那里name=“column4”1column=“column\u 1”
Exception in thread "main" <openjpa-2.4.0-r422266:1674604 fatal general error>
org.apache.openjpa.persistence.PersistenceException: [jcc][t4][10145][10897]
[3.58.81] Invalid parameter 0: Parameter index is out of range. ERRORCODE=-4461, SQLSTATE=42815