Fixed - @RObjectField annotation with codec option has no effect. #3605

pull/6080/head
Nikita Koksharov 6 months ago
parent d57ef69f00
commit c7a7adeb43

@ -157,7 +157,7 @@ public class RedissonObjectBuilder {
return codecProvider.getCodec(anno, rEntity, rObjectClass, fieldName, config);
} else {
REntity anno = ClassUtils.getAnnotation(rEntity, REntity.class);
return codecProvider.getCodec(anno, (Class<?>) rEntity, config);
return codecProvider.getCodec(anno, rEntity, config);
}
}
@ -321,9 +321,11 @@ public class RedissonObjectBuilder {
private <T extends RObject, K extends Codec> T createRObject(RedissonClient redisson, Class<T> expectedType, String name, K codec) throws ReflectiveOperationException {
Class<?>[] interfaces = expectedType.getInterfaces();
for (Class<?> iType : interfaces) {
if (REFERENCES.containsKey(iType)) {// user cache to speed up things a little.
Method builder = REFERENCES.get(iType).get(codec != null);
if (codec != null) {
if (REFERENCES.containsKey(iType)) {
boolean isDefaultCodec = codec.getClass() == config.getCodec().getClass();
Method builder = REFERENCES.get(iType).get(isDefaultCodec);
if (isDefaultCodec) {
return (T) builder.invoke(redisson, name);
}
return (T) builder.invoke(redisson, name, codec);

Loading…
Cancel
Save