Skip to content

Commit afe51ab

Browse files
committed
correction suggestion to issue FasterXML#70
1 parent 26ec7ea commit afe51ab

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

hibernate4/src/main/java/com/fasterxml/jackson/datatype/hibernate4/HibernateProxySerializer.java

+19
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
import com.fasterxml.jackson.core.*;
77

88
import com.fasterxml.jackson.databind.BeanProperty;
9+
import com.fasterxml.jackson.databind.JsonMappingException;
910
import com.fasterxml.jackson.databind.JsonSerializer;
1011
import com.fasterxml.jackson.databind.SerializerProvider;
1112
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
13+
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
1214
import com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap;
1315

1416
import org.hibernate.engine.spi.Mapping;
@@ -27,6 +29,7 @@
2729
*/
2830
public class HibernateProxySerializer
2931
extends JsonSerializer<HibernateProxy>
32+
implements ContextualSerializer
3033
{
3134
/**
3235
* Property that has proxy value to handle
@@ -66,6 +69,16 @@ public HibernateProxySerializer(boolean forceLazyLoading, boolean serializeIdent
6669
_property = null;
6770
}
6871

72+
public HibernateProxySerializer(boolean forceLazyLoading, boolean serializeIdentifier, Mapping mapping, BeanProperty property) {
73+
_forceLazyLoading = forceLazyLoading;
74+
_serializeIdentifier = serializeIdentifier;
75+
_mapping = mapping;
76+
_dynamicSerializers = PropertySerializerMap.emptyForProperties();
77+
_property = property;
78+
}
79+
80+
81+
6982
/*
7083
/**********************************************************************
7184
/* JsonSerializer impl
@@ -165,4 +178,10 @@ protected Object findProxied(HibernateProxy proxy)
165178
}
166179
return init.getImplementation();
167180
}
181+
182+
@Override
183+
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property)
184+
throws JsonMappingException {
185+
return new HibernateProxySerializer(this._forceLazyLoading, this._serializeIdentifier, this._mapping, property);
186+
}
168187
}

0 commit comments

Comments
 (0)