On Jun 7, 2012, at 7:45 AM, Guy Pelletier wrote:
Hi Noah,
Yes, the use of an OrderColumn is currently intended to be used
with a List only. You can however use the JPA OrderBy annotation
instead which can be used with a Set.
Cheers,
Guy
Hi Guy,
Thanks for your feedback. The rub with the @OrderBy approach is it relies on a column in the related entity, however, I want/need to enforce an ordering on the the relationship. Some pseudo code to illustrate:
public class Diner {
@ManyToMany @JoinTable(...) Set<Dessert> favoriteDesserts;
get/set favoriteDesserts
}
public class Dessert {
@ManyToMany(mappedBy="favoriteDesserts") Set<Diner> favoritedBy;
}
I want to preserve the order that a Dessert is added to the favoriteDesserts. I also want to enforce that the Set of favorite desserts does not contain duplicates. There is no particular property of Dessert to indicate an favorited order since the favorited order should be part of the join table as it relates to that and is not unique to an instance of Dessert which is why @OrderBy isn't really going to help.
-Noah
On 06/06/2012 5:52 PM, Noah White wrote:
I was reading over the docs [1] regarding Eclipselink's
support for @OrderColumn. It looks like this only applies to
List and not Set. The reason I ask is because I have a
ManyToMany bi-directional relationship (using a join table)
which is a Set and is implemented with a HashSet because the
collection can't have duplicates.
I wanted to order the entries in this set using @OrderColumn,
but it appears I can only apply this to List, however using List
will break my unique requirement. Is this understanding
correct?
If so what is the recommended strategy for this case?
Thanks,
-Noah
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________ eclipselink-users mailing list eclipselink-users@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/eclipselink-users
|