@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 <mgen...@masslight.net> wrote:
> 
> The utilities I mentioned also do SUM, AVG, MIN, and MAX ...
> 
> 
>> On Thu, Oct 30, 2014 at 12:35 PM, Mark Stobbe <markstobb...@gmail.com> 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 <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
>>> 
>>> 

Reply via email to