> Is there a more transparent way of doing things, e.g. using lifecycle > listeners, datachannel filters and such?
If you want the update to happen on commit, you can use a PostPersist/PostRemove listener on Package. And perhaps update the count with raw SQL to avoid a race condition between multiple processes updating the same order (or fetch and update Order object, if you don't expect this to happen). Andrus > On Oct 30, 2014, at 7:09 PM, Mark Stobbe <markstobb...@gmail.com> wrote: > > Hi Michael, > > I would like to display the count in a table for a whole bunch of orders. > In theory I could use a "group by"-query to get the numbers I need and with > proper configured indices this should be fairly quick, I guess. > > Is there a more transparent way of doing things, e.g. using lifecycle > listeners, datachannel filters and such? > > Mark > > On Thu, Oct 30, 2014 at 4:15 PM, Michael Gentry <mgen...@masslight.net> > wrote: > >> Hi Mark, >> >> Is there a performance reason why you don't just do a count on the >> packages that match the order? >> >> mrg >> >> >> On Thu, Oct 30, 2014 at 11:00 AM, Mark Stobbe <markstobb...@gmail.com> >> wrote: >>> Hi all, >>> >>> I was wondering what is the best way to update totals in a multi-user >>> environment. For example, let's say we have an Order which can have one >> or >>> more Packages associated and we want to maintain a total package count on >>> the Order entity. How would you update this value when the user has the >>> option to add/remove packages. >>> >>> So the entities looks like: >>> >>> *Order* >>> -------- >>> id : bigint >>> orderNumber : varchar >>> nrOfPackages : int >>> >>> *Package* >>> ------------ >>> id : bigint >>> packageNumber : varchar >>> *fk_order : bigint* >>> >>> What do you guys use to solve this? >>> Mark >>