sai-pullabhotla / catatumbo

JPA like Persistence Framework for Google Cloud Datastore and Cloud Firestore
http://catatumbo.io
Apache License 2.0
51 stars 20 forks source link

Support persisting Generic Types #179

Open athieriot opened 7 years ago

athieriot commented 7 years ago

Hello,

We have the use case of wanting to persist generic types. (Ex: Document<SomeObject>). At runtime, after type erasure, the enclosing type is actually lost and so Catatumbo fail to be able to read the fields and annotations.

From reading and using Gson library, they solve this by accepting a ParameterizedType during Serialization/Deserialization: https://github.com/google/gson/blob/master/UserGuide.md#TOC-Serializing-and-Deserializing-Generic-Types

I was wondering if it was of some interest to support this behaviour? (Not just us I mean :smile:)

@spullabhotla Do you think it would be worthwhile to take a look at implementing that? (It might require a new set of methods in EntityManager so I'm not sure whether you want that feature or think about anything else...)

sai-pullabhotla commented 7 years ago

@athieriot - Is Document a top level entity or an embedded field in the entity?

athieriot commented 7 years ago

In our case, Document is a top level entity and only contains one Generic field (Which is stored as Embedded).