> My problem with the solution is just the integration into Cayenne. EJBQLQuery supports aggregates:
http://cayenne.apache.org/docs/3.1/cayenne-guide/queries.html#ejbqlquery The problem with it is that the query itself can only be created from String using a JPQL-like object query language, so you forfeit the type safety of SelectQuery. Still it is a much better abstraction then SQLTemplate for instance. (And its integration into SelectQuery is on the agenda). Andrus > On Oct 31, 2014, at 1:38 AM, Mark Stobbe <[email protected]> wrote: > > @Andrus, I see. Good to know how to do this in Cayenne. > > @Michael, You are right. It makes more sense to let the database do the > calculations. It prevents the race conditions when updating and ensures > totals to be correct. > My problem with the solution is just the integration into Cayenne. > Do you use some extra classes to keep the totals? It would be perfect if the > expression language could be extended to have an easy way to group and count > associated entities!! > > >> On 30 okt. 2014, at 18:22, Michael Gentry <[email protected]> wrote: >> >> The utilities I mentioned also do SUM, AVG, MIN, and MAX ... >> >> >>> On Thu, Oct 30, 2014 at 12:35 PM, Mark Stobbe <[email protected]> >>> wrote: >>> Oh, I also have the same problem with total cost with different >>> currencies... >>> >>>> On Thu, Oct 30, 2014 at 5:09 PM, Mark Stobbe <[email protected]> >>>> 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 <[email protected]> >>>> 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 <[email protected]> >>>>> 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 >>>> >>>> >
