Set , by definition, has no particular order for its elements.
You'd better use *List* , with [EMAIL PROTECTED] , you get and ordered list.


Regards, Youssef


On Thu, Nov 20, 2008 at 5:51 PM, syg6 <[EMAIL PROTECTED]> wrote:

>
> I have a @OneToMany Collection (EstablishmentBins) in my POJO
> (Establishment), mapped as a Set. I've tried using LinkedHashSet and
> TreeSet, no go, Hibernate says I can't. Ok, fair enough.
>
> But since it is a plain old Set there is no order. And I need some order.
> So
> I changed my EstablishmentBin POJO so it implements Comparable and made a
> compareTo() method. That's when the problems started.
>
> When loading an Establishment in EstablishmentDaoHibernate, If I futz with
> EstablishmentBins  - for example cast it to a TreeSet and do an
> establishment.setEstablishmentBins(establishmentBinsTreeSet), Hibernate
> complains saying:
>
> A collection with cascade="all-delete-orphan" was no longer referenced by
> the owning entity instance
>
> I also tried:
>
> 1. Casting the Set to a TreeSet, calling clear() on the Set and then
> calling
> addAll(TreeSet). This doesn't work because at the end of the day, the POJO
> still has a Set, so any ordering I do is lost.
>
> 2. Making a private method, orderBins(TreeSet) in Establishment that either
> does the stuff from #1 (clear(), addAll(TreeSet)) or from above
> (this.setEstablishmentBins(establishmentBinsTreeSet)). Neither one works.
> The first one does nothing, the second fails with the same Hibernate error.
>
> So I moved the setEstablishmentBins(establishmentBinsTreeSet) call up into
> the EstablishmentFormController. Annoying, and probably not a Best
> Practice.
> But it works. I am not sure why it works in a Controller and not a Dao, but
> there it is.
>
> But I have another problem - I sometimes load the Establishment from Ajax,
> and I need the EstablishmentBins to be ordered there as well. But I have no
> Controller, I call the Manager/DAO directly. So it seems I *need* to put
> the
> code for ordering the EstablishmentBins in the DAO, at least for this call.
>
> How the heck can I do this without Hibernate getting cross with me?
>
> Bob
> --
> View this message in context:
> http://www.nabble.com/Hibernate-madness---how-to-order-a-Set-tp20604234s2369p20604234.html
> Sent from the AppFuse - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to