|
67 | 67 | */
|
68 | 68 | class PersistenceManagedTypesBeanRegistrationAotProcessor implements BeanRegistrationAotProcessor {
|
69 | 69 |
|
70 |
| - private static final List<Class<? extends Annotation>> CALLBACK_TYPES = List.of(PreUpdate.class, |
71 |
| - PostUpdate.class, PrePersist.class, PostPersist.class, PreRemove.class, PostRemove.class, PostLoad.class); |
| 70 | + private static final boolean jpaPresent = ClassUtils.isPresent("jakarta.persistence.Entity", |
| 71 | + PersistenceManagedTypesBeanRegistrationAotProcessor.class.getClassLoader()); |
72 | 72 |
|
73 | 73 | @Nullable
|
74 | 74 | @Override
|
75 | 75 | public BeanRegistrationAotContribution processAheadOfTime(RegisteredBean registeredBean) {
|
76 |
| - if (PersistenceManagedTypes.class.isAssignableFrom(registeredBean.getBeanClass())) { |
77 |
| - return BeanRegistrationAotContribution.withCustomCodeFragments(codeFragments -> |
78 |
| - new JpaManagedTypesBeanRegistrationCodeFragments(codeFragments, registeredBean)); |
| 76 | + if (jpaPresent) { |
| 77 | + if (PersistenceManagedTypes.class.isAssignableFrom(registeredBean.getBeanClass())) { |
| 78 | + return BeanRegistrationAotContribution.withCustomCodeFragments(codeFragments -> |
| 79 | + new JpaManagedTypesBeanRegistrationCodeFragments(codeFragments, registeredBean)); |
| 80 | + } |
79 | 81 | }
|
80 | 82 | return null;
|
81 | 83 | }
|
82 | 84 |
|
83 |
| - private static class JpaManagedTypesBeanRegistrationCodeFragments extends BeanRegistrationCodeFragmentsDecorator { |
| 85 | + private static final class JpaManagedTypesBeanRegistrationCodeFragments extends BeanRegistrationCodeFragmentsDecorator { |
| 86 | + |
| 87 | + private static final List<Class<? extends Annotation>> CALLBACK_TYPES = List.of(PreUpdate.class, |
| 88 | + PostUpdate.class, PrePersist.class, PostPersist.class, PreRemove.class, PostRemove.class, PostLoad.class); |
| 89 | + |
84 | 90 |
|
85 | 91 | private static final ParameterizedTypeName LIST_OF_STRINGS_TYPE = ParameterizedTypeName.get(List.class, String.class);
|
86 | 92 |
|
87 | 93 | private final RegisteredBean registeredBean;
|
88 | 94 |
|
89 | 95 | private final BindingReflectionHintsRegistrar bindingRegistrar = new BindingReflectionHintsRegistrar();
|
90 | 96 |
|
91 |
| - public JpaManagedTypesBeanRegistrationCodeFragments(BeanRegistrationCodeFragments codeFragments, |
| 97 | + private JpaManagedTypesBeanRegistrationCodeFragments(BeanRegistrationCodeFragments codeFragments, |
92 | 98 | RegisteredBean registeredBean) {
|
93 | 99 | super(codeFragments);
|
94 | 100 | this.registeredBean = registeredBean;
|
|
0 commit comments