From 6b1bb457d7fcf2b17efba7cd17140750ec86ec27 Mon Sep 17 00:00:00 2001 From: Taha Di Nero Date: Tue, 6 Jun 2023 05:26:59 +0200 Subject: [PATCH] Update PersistentCollectionSerializer.java (#173) fix REPLACE_PERSISTENT_COLLECTIONS in EAGER #146 --- .../hibernate6/PersistentCollectionSerializer.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hibernate6/src/main/java/com/fasterxml/jackson/datatype/hibernate6/PersistentCollectionSerializer.java b/hibernate6/src/main/java/com/fasterxml/jackson/datatype/hibernate6/PersistentCollectionSerializer.java index 1bfeaa4..49b6189 100644 --- a/hibernate6/src/main/java/com/fasterxml/jackson/datatype/hibernate6/PersistentCollectionSerializer.java +++ b/hibernate6/src/main/java/com/fasterxml/jackson/datatype/hibernate6/PersistentCollectionSerializer.java @@ -342,26 +342,27 @@ private void initializeCollection(PersistentCollection coll, Session session) { */ protected boolean usesLazyLoading(BeanProperty property) { if (property != null) { + boolean replaceCollection = Hibernate6Module.Feature.REPLACE_PERSISTENT_COLLECTIONS.enabledIn(_features); // As per [Issue#36] ElementCollection ec = property.getAnnotation(ElementCollection.class); if (ec != null) { - return (ec.fetch() == FetchType.LAZY); + return replaceCollection || (ec.fetch() == FetchType.LAZY); } OneToMany ann1 = property.getAnnotation(OneToMany.class); if (ann1 != null) { - return (ann1.fetch() == FetchType.LAZY); + return replaceCollection || (ann1.fetch() == FetchType.LAZY); } OneToOne ann2 = property.getAnnotation(OneToOne.class); if (ann2 != null) { - return (ann2.fetch() == FetchType.LAZY); + return replaceCollection || (ann2.fetch() == FetchType.LAZY); } ManyToOne ann3 = property.getAnnotation(ManyToOne.class); if (ann3 != null) { - return (ann3.fetch() == FetchType.LAZY); + return replaceCollection || (ann3.fetch() == FetchType.LAZY); } ManyToMany ann4 = property.getAnnotation(ManyToMany.class); if (ann4 != null) { - return (ann4.fetch() == FetchType.LAZY); + return replaceCollection || (ann4.fetch() == FetchType.LAZY); } // As per [Issue#53] return !Hibernate6Module.Feature.REQUIRE_EXPLICIT_LAZY_LOADING_MARKER.enabledIn(_features);