mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-27 21:01:15 +08:00
Fix serialization
This commit is contained in:
parent
2688cd7a9b
commit
ab6f3f366e
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user