private AbstractSQLInsertClause<?> onDuplicateUpdates(AbstractSQLInsertClause<?> insert, Collection<Path<?>> duplicates) { if (duplicates != null && !duplicates.isEmpty()) { insert.addFlag(QueryFlag.Position.END, " ON DUPLICATE KEY UPDATE "); boolean first = true; for (Path<?> duplicate : duplicates) { insert.addFlag(QueryFlag.Position.END, Expressions.template(Object.class, first ? "{0} = VALUES({0})" : ", {0} = VALUES({0})", duplicate)); first = false; } } return insert; }