On 31 juil. 2011, at 21:44, Sanne Grinovero wrote:
@ElementCollection
@Field(indexNullAsl="nullToken")
String[] tags
Hum is it really the way we are going? ie @Field would be used by the elements of the
collection if it's a collection?
I'm not a big fan for a couple of reasons:
- it breaks backward compatibility
- I cannot write a custom collection bridge
We're back to the same problem over and over but to me the best mapping in Java 8 will
be:
@ElementCollection
Collection<(a)Field(bridge=StringBridge.class) String> tags
But until then we need to find alternatives. I can see two alternatives
1. use a custom @ElementField annotation
This annotation will represent the element in a collection.
I like this idea as it forward compatible with Java 8's approach
2. Let @Field be used for elements of a collection and create a @CollectionField to index
the collection
Subsidiary questions:
- is there other annotation that need to be converted to the @Element* pattern?
- what about maps and specifically keys in maps?