Sachin Goyal created AVRO-1568:
----------------------------------
Summary: Allow Java polymorphism in Avro
Key: AVRO-1568
URL: https://issues.apache.org/jira/browse/AVRO-1568
Project: Avro
Issue Type: New Feature
Affects Versions: 1.7.6
Reporter: Sachin Goyal
A large number of Java designs interacting with databases with
Hibernate/Couchbase (perhaps, even otherwise) have Java polymorphism of the
form:
{code:java}
class Base
{
Integer a = 5;
}
class Derived extends Base
{
String b = "Foo";
}
class PolymorphicDO
{
Base b = new Derived();
}
{code}
Jackson handles this kind of field by using annotations such as:
{code}
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY,
property = "@class”)
{code}
If such a thing can be added to Avro, all those Java designs could become
immediately usable with Avro. They would also become Hadoop compatible due to
AvroSerde.
--
This message was sent by Atlassian JIRA
(v6.2#6252)