Скажем, у меня есть resolution
с ArrayList
коллекцией refund
объектов с целым числом amount
.Hibernate поиск коллекция всего
Конечный результат: Я хочу найти на resolution
s на сумму refund
's amount
s, без использования HQL.
В настоящее время я делаю это путем суммирования в MySQL, который неуклюж, но он поддерживает нормализацию, и я могу гарантировать, что это правильно.
Способ, которым я думал сделать это, имеет refundTotal
в resolution
, который будет полем в базе данных. У меня есть приватный аргумент 0, который проходит через refund
, суммирует amount
и сохраняет его, когда происходит флеш. Наборщик запускается при извлечении базы данных, поэтому он корректен, когда он выходит из базы данных. Геттер обеспечивает его правильность, когда это необходимо, когда это необходимо.
private setRefundTotal(){
ArrayList<Refund> refunds = getRefunds();
Integer refundTotalSum = 0;
for(refunds as Refund refund){
refundTotalSum+=refund.getAmount();
}
this.refundTotal = refundTotalSum;
}
public integer getRefundTotal(){
this.setRefundTotal();
return totalRefund;
}
Если я обновлю в изоляции resolution
в refund
однако, я должен получить и сохранить resolution
так refundTotal
остается последовательным.
Я уверен, что это очень распространенный сценарий, для которого в спящем режиме есть решение?