Currently, to convert a custom type, we have to annotate each field of that type individually with @Convert.
This is very inconvenientt, because if you have a custom type, e.g. joda.time.DateTime you'll always want to convert it, so it would be much cleaner and less error-prone if we could define custom type converters per table or for the whole database too, like Room does it with TypeConverters.
Describe the solution you'd like
For a per-entity definition of converters, one could extend the @Entity annotation something like this:
@Entity(converters={@Convert(...), @Convert(...),...}
public class User ...
For defining converters globally, the ObjectBox builder could be extended.
Describe alternatives you've considered
Currently, the only alternative is to add @Convert to each and every field.
Additional context
As said above, you can have a look at Room's @TypeConverter annotation that can be applied to METHOD, PARAMETER, TYPE and FIELD.
Currently, to convert a custom type, we have to annotate each field of that type individually with @Convert. This is very inconvenientt, because if you have a custom type, e.g. joda.time.DateTime you'll always want to convert it, so it would be much cleaner and less error-prone if we could define custom type converters per table or for the whole database too, like Room does it with TypeConverters.
Describe the solution you'd like For a per-entity definition of converters, one could extend the @Entity annotation something like this:
For defining converters globally, the ObjectBox builder could be extended.
Describe alternatives you've considered Currently, the only alternative is to add @Convert to each and every field.
Additional context As said above, you can have a look at Room's @TypeConverter annotation that can be applied to METHOD, PARAMETER, TYPE and FIELD.