This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 25e8d186e5df CAMEL-24131: camel-jpa - Guard consumeDelete handler
against Object[] from native queries (#24793)
25e8d186e5df is described below
commit 25e8d186e5dfeac99cab14187944a1d7fb455ec4
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jul 16 15:41:12 2026 +0200
CAMEL-24131: camel-jpa - Guard consumeDelete handler against Object[] from
native queries (#24793)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
.../main/java/org/apache/camel/component/jpa/JpaConsumer.java | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
index 626f03ba823e..e55c4bfc5f66 100644
---
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
+++
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaConsumer.java
@@ -471,7 +471,15 @@ public class JpaConsumer extends
ScheduledBatchPollingConsumer {
}
}
if (getEndpoint().isConsumeDelete()) {
- return (EntityManager em, Object entityBean, Exchange exchange) ->
em.remove(entityBean);
+ return (EntityManager em, Object entityBean, Exchange exchange) ->
{
+ if (entityBean != null && !entityBean.getClass().isArray()) {
+ em.remove(entityBean);
+ } else {
+ LOG.warn("Cannot auto-delete entity of type {} (e.g.
native query result without resultClass)."
+ + " Set consumeDelete=false or configure a
resultClass.",
+ entityBean != null ?
entityBean.getClass().getName() : "null");
+ }
+ };
}
return (EntityManager em, Object entityBean, Exchange exchange) -> {