Implementation of getUsersWithStatuses based on getUsersWithStatus
I would say that in your case it is not a good idea because you will execute the same query many times.

However you can change you calls to have the method with a single status calling the one with many satuses.

List&lt;UserDTO&gt; getUsersWithStatus(Long locationId, Status status) {
  return getUserWithStatuses(EnumSet.of(status));
}

List&lt;UserDTO&gt; getUsersWithStatuses(Long locationId, EnumSet&lt;Status&gt; statuses) {
  // SELECT * FROM users WHERE status IN (..)
}