if key method is used, set the condition regardless of the $id is set or not.
for delete method, use key method only if $id is set.
return empty target if join list is empty (i.e. nothing linked).
add orderBy and where method in the RelationInterface as well.