Merge pull request #1985 from FOCONIS/bugfix/order_column_tree_depth

Update is missing for relations with @OrderColumn from a tree depth > 1
This commit is contained in:
Rob Bygrave
2020-04-12 16:19:01 +12:00
committed by GitHub
5 changed files with 117 additions and 7 deletions
@@ -18,6 +18,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import static io.ebeaninternal.server.persist.DmlUtil.isNullOrZero;
@@ -108,7 +109,7 @@ public class SaveManyBeans extends SaveManyBase {
BeanProperty orderColumn = null;
boolean hasOrderColumn = many.hasOrderColumn();
if (hasOrderColumn) {
if (!insertedParent && canSkipForOrderColumn()) {
if (!insertedParent && canSkipForOrderColumn() && saveRecurseSkippable) {
return;
}
orderColumn = targetDescriptor.getOrderColumn();
@@ -157,7 +158,7 @@ public class SaveManyBeans extends SaveManyBase {
if (many.hasJoinTable()) {
skipSavingThisBean = targetDescriptor.isReference(ebi);
} else {
if (orderColumn != null) {
if (orderColumn != null && !Objects.equals(sortOrder, orderColumn.getValue(detail))) {
orderColumn.setValue(detail, sortOrder);
ebi.setDirty(true);
}