Skip to content

Commit 2cb7a27

Browse files
committed
Support #38300 - Update to SpringBoot 3
- Fixed findOneBy to include relationship set to ensure it's eagerly loaded.
1 parent 6f2c40c commit 2cb7a27

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

src/main/java/ca/gc/aafc/objectstore/api/service/DerivativeService.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.springframework.validation.SmartValidator;
66

77
import ca.gc.aafc.dina.jpa.BaseDAO;
8+
import ca.gc.aafc.dina.jpa.PredicateSupplier;
89
import ca.gc.aafc.dina.messaging.DinaEventPublisher;
910
import ca.gc.aafc.dina.messaging.EntityChanged;
1011
import ca.gc.aafc.dina.messaging.message.DocumentOperationType;
@@ -20,6 +21,7 @@
2021
import ca.gc.aafc.objectstore.api.validation.DerivativeValidator;
2122

2223
import java.util.Optional;
24+
import java.util.Set;
2325
import java.util.UUID;
2426
import java.util.function.BiFunction;
2527
import jakarta.persistence.criteria.CriteriaBuilder;
@@ -163,7 +165,19 @@ public Optional<Derivative> findByFileId(UUID fileId) {
163165
* @return an Optional Derivative for a given criteria.
164166
*/
165167
private Optional<Derivative> findOneBy(
166-
@NonNull BiFunction<CriteriaBuilder, Root<Derivative>, Predicate[]> crit) {
167-
return this.findAll(Derivative.class, crit, null, 0, 1).stream().findFirst();
168+
@NonNull BiFunction<CriteriaBuilder, Root<Derivative>, Predicate[]> crit
169+
) {
170+
PredicateSupplier<Derivative> whereSupplier =
171+
(criteriaBuilder, root, entityManager) -> crit.apply(criteriaBuilder, root);
172+
173+
return this.findAll(
174+
Derivative.class,
175+
whereSupplier,
176+
null,
177+
0,
178+
1,
179+
Set.of(),
180+
Set.of("acDerivedFrom")
181+
).stream().findFirst();
168182
}
169183
}

0 commit comments

Comments
 (0)