The .compareTo method is used when putting Comparables into sorted sets: TreeSets, etc. As long as you are not falsely comparing two objects you should be fine. Adding the uuid check to the end of your compareTo method should do the trick. What you want to avoid is compareTo returning true for two objects that have the same name but that have different uuids.
IIRC, we had an issue at one point because we put the voided status in the compareTo method. This meant that when you voided the object it suddenly "disappeared" from sets because you couldn't compare the objects. FYI: Before 1.9 we were comparing using internal ids, so it was still an identity test. The difference with 1.9 is that now the uuid is generated at object creation time, so that we can safely compare a "new'd" object and an object fetched from the db. Ben On Sun, Jan 22, 2012 at 1:44 PM, Friedman, Roger (CDC/CGH/DGHA) (CTR) < [email protected]> wrote: > I hate to raise natural key/surrogate key again, but maybe there’s an > easy answer to this question. With 1.9, we make all of our .equals > routines compare uuids, which basically says that .equals is an identity > test. I have started implementing Comparable on my data access POJOs > because in many cases their natural order depends on names of concepts or > locations referenced by the POJO, so I can’t sort on this order when > returning a list of POJOs, instead I put the returned list through > Collections.sort. However, this means that compare and equals are not > consistent because the natural order may not be unique, and I understand > this not to be a desirable situation. Is implementing Comparable a bad > approach? Do I need to add ID or some other field to make the natural order > unique? Is this not something to worry about?**** > > Saludos, Roger**** > > **** > _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

