Skip to content

Commit c18efda

Browse files
committed
HHH-19372 HHH-19369 Issues with access optimizer and inheritance
1 parent 3dfa0c2 commit c18efda

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/BytecodeProviderImpl.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -306,11 +306,26 @@ private Class<?> determineAccessOptimizerSuperClass(Class<?> clazz, String[] pro
306306
for ( int i = 0; i < getters.length; i++ ) {
307307
final Member getter = getters[i];
308308
final Member setter = setters[i];
309-
if ( getter.getDeclaringClass() == foreignPackageClassInfo.clazz && !Modifier.isPublic( getter.getModifiers() ) ) {
310-
foreignPackageClassInfo.getters.add( getter );
309+
boolean addPropertyname = false;
310+
if ( getter.getDeclaringClass() == foreignPackageClassInfo.clazz ) {
311+
if( !Modifier.isPublic( getter.getModifiers())) {
312+
foreignPackageClassInfo.getters.add( getter );
313+
}
314+
else {
315+
addPropertyname = true;
316+
}
317+
}
318+
if ( setter.getDeclaringClass() == foreignPackageClassInfo.clazz ) {
319+
if(!Modifier.isPublic( setter.getModifiers() )) {
320+
foreignPackageClassInfo.setters.add( setter );
321+
}
322+
else {
323+
addPropertyname = true;
324+
}
325+
311326
}
312-
if ( setter.getDeclaringClass() == foreignPackageClassInfo.clazz && !Modifier.isPublic( setter.getModifiers() ) ) {
313-
foreignPackageClassInfo.setters.add( setter );
327+
if ( addPropertyname ) {
328+
foreignPackageClassInfo.propertyNames.add( propertyNames[i] );
314329
}
315330
}
316331
if ( foreignPackageClassInfo.getters.isEmpty() && foreignPackageClassInfo.setters.isEmpty() ) {

0 commit comments

Comments
 (0)