Fix serialization

This commit is contained in:
Timo Westkämper 2016-07-22 21:16:08 +03:00
parent 2688cd7a9b
commit ab6f3f366e

View File

@ -15,7 +15,10 @@ package com.querydsl.core.types;
import static com.querydsl.core.util.ConstructorUtils.*;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.List;
@ -147,4 +150,19 @@ public class ConstructorExpression<T> extends FactoryExpressionBase<T> {
}
}
private void readObject(ObjectInputStream ois)
throws ClassNotFoundException, IOException {
ois.readObject();
try {
Field constructor = ConstructorExpression.class.getDeclaredField("constructor");
constructor.setAccessible(true);
constructor.set(this, getConstructor(getType(), parameterTypes));
Field transformers = ConstructorExpression.class.getDeclaredField("transformers");
transformers.setAccessible(true);
transformers.set(this, getTransformers(this.constructor));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}