jackson-datatype-hibernate
jackson-datatype-hibernate copied to clipboard
Add feature `WRAP_IDENTIFIER_IN_OBJECT` to allow disabling of wrapping of "id" attribute
I've noticed that Feature SERIALIZE_IDENTIFIER_FOR_LAZY_NOT_LOADED_OBJECTS works as inteded (serializing attributes from the Hibernate proxy of lazy loaded objects, i.e. identifiers), but wrapped like this:
{ "id" : 1 }
This means the (lazy) relation to Foo in the following object would be serialized as:
{ ... , foo: { "id" : 1 }, ... }
I have found standard behaviour to be the following:
{ ... , foo: 1, ... }
For example, when using "@JsonIdentityInfo" annotation, Jackson would resolve relations as numeric IDs to break circular dependencies (i.e. the entity has already been visited and fully serialized).
I would like to know if this is a known issue or is it just me that finds odd the default behaviour. But anyway, I'd be happy to implement a new backwards-compatible feature to achieve it.
I don't really know the answer as this module in general, and feature in particular, came as contribution. So the feature for making wrapping optional sounds reasonable.
As per notes on PR #137 will be merging as soon as we get CLA.
Merged, will be in 2.12.0. Thank you @jobosk for contributing this!