This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 51ebc83b53 ISIS-3265: detect non attached entity at post-load
51ebc83b53 is described below

commit 51ebc83b533aa99501b4bce2b3826a6bda55f07c
Author: Andi Huber <[email protected]>
AuthorDate: Thu Oct 27 15:10:34 2022 +0200

    ISIS-3265: detect non attached entity at post-load
    
    - and instead of going into a nested fetch loop ignore the event
    - strange JPA specific issue
---
 .../persistence/jpa/applib/integration/CausewayEntityListener.java | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git 
a/persistence/jpa/applib/src/main/java/org/apache/causeway/persistence/jpa/applib/integration/CausewayEntityListener.java
 
b/persistence/jpa/applib/src/main/java/org/apache/causeway/persistence/jpa/applib/integration/CausewayEntityListener.java
index fa1a8708f6..13c4f4716d 100644
--- 
a/persistence/jpa/applib/src/main/java/org/apache/causeway/persistence/jpa/applib/integration/CausewayEntityListener.java
+++ 
b/persistence/jpa/applib/src/main/java/org/apache/causeway/persistence/jpa/applib/integration/CausewayEntityListener.java
@@ -76,6 +76,13 @@ public class CausewayEntityListener {
     @PostLoad void onPostLoad(final Object entityPojo) {
         log.debug("onPostLoad: {}", entityPojo);
         val entity = objectManager.adapt(entityPojo);
+
+        val entityState = entity.getEntityState();
+        if(!entityState.isAttached()) {
+            log.error("onPostLoad event while pojo not attached ({}); ignoring 
the event",
+                    entityState.name());
+            return;
+        }
         objectLifecyclePublisher.onPostLoad(entity);
     }
 

Reply via email to