Here is an algorithm analysis task for graph-theory-minded folks. I came up with the @SortWeight solution below for a very specific problem when commit operation ordering can not be derived from the cross-entity relationships in the DataMap. Now I wondering how many other cases raised on this list that are not addressed by the default AshwoodEntitySorter can be solved by manually overriding entities ordering "weight"?
Andrus On Mar 24, 2011, at 4:50 PM, Andrus Adamchik (JIRA) wrote: > cayenne-lifecycle: @SortWeight annotation > ------------------------------------------ > > Key: CAY-1553 > URL: https://issues.apache.org/jira/browse/CAY-1553 > Project: Cayenne > Issue Type: Task > Components: Lifecycle Extensions > Affects Versions: 3.1M2 > Reporter: Andrus Adamchik > Assignee: Andrus Adamchik > > > Sometimes it is useful to manually override the operation ordering for some > entities. E.g. per CAY-1547 we support UuidRelationships, but saving an > object with a UuidRelationship to another object does not generate correct > ordering. So we may want to override default ordering for entities annotated > with @UuidRelationship. E.g.: > > @SortWeight(1.1) > @UuidRelationship("UUID") > class My extends _My {} > > Note that this approach will not be able to address all shortcomings of a > generic AshwoodEntitySorter. It is somewhat of a hack. So it will be placed > in cayenne-lifecycle and treated as an "extension". > > -- > This message is automatically generated by JIRA. > For more information on JIRA, see: http://www.atlassian.com/software/jira >
