Один из способов - создать дополнительные столбцы с pmax
и pmin
из id1
и id2
следующим образом. Я буду использовать решение data.table
здесь.
require(data.table)
DT <- data.table(DF)
# Following mnel's suggestion, g1, g2 could be used directly in by
# and it could be even shortened by using `id1` and id2` as their names
DT.OUT <- DT[, list(size=sum(size)),
by=list(id1 = pmin(id1, id2), id2 = pmax(id1, id2))]
# id1 id2 size
# 1: 5400 5505 18
# 2: 5033 5458 1
# 3: 5452 2873 24
# 4: 5452 5213 2
# 5: 5452 4242 26
# 6: 4823 4823 4
Таким образом, {0}
является параметром сообщения, а [111]
является переменной выражения.
Вы должны использовать #addMessageParameter()
вместо #addExpressionVariable()
. Он был введен в Hibernate Validator 5.4.1, но вам все равно следует обновить его, если вы используете более старую версию.