From 947f9c45d958b1cfd92626c2fd7880fbfc6382c8 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Tue, 9 Sep 2025 12:49:05 +0200 Subject: [PATCH] Avoid attempt to create property accessor for array and inaccessible types. Original Pull Request: #3318 --- .../data/aot/AotMappingContext.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/springframework/data/aot/AotMappingContext.java b/src/main/java/org/springframework/data/aot/AotMappingContext.java index 3671a4684..959c02de3 100644 --- a/src/main/java/org/springframework/data/aot/AotMappingContext.java +++ b/src/main/java/org/springframework/data/aot/AotMappingContext.java @@ -15,6 +15,8 @@ */ package org.springframework.data.aot; +import java.lang.reflect.InaccessibleObjectException; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.data.mapping.Association; @@ -53,16 +55,22 @@ class AotMappingContext extends */ public void contribute(Class entityType) { - BasicPersistentEntity entity = getPersistentEntity(entityType); + try { + BasicPersistentEntity entity = getPersistentEntity(entityType); - if (entity != null) { + if (entity != null && !entity.getType().isArray()) { - EntityInstantiator instantiator = instantiators.getInstantiatorFor(entity); - if (instantiator instanceof EntityInstantiatorSource source) { - source.getInstantiatorFor(entity); - } + EntityInstantiator instantiator = instantiators.getInstantiatorFor(entity); + if (instantiator instanceof EntityInstantiatorSource source) { + source.getInstantiatorFor(entity); + } - propertyAccessorFactory.initialize(entity); + propertyAccessorFactory.initialize(entity); + } + } catch (InaccessibleObjectException exception) { + if(logger.isInfoEnabled()) { + logger.info("Unable to contribute bytecode accessor for [%s]".formatted(entityType), exception); + } } }