Вопрос о множественной реализации интерфейса в Java/SpringJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Вопрос о множественной реализации интерфейса в Java/Spring

Сообщение Anonymous »

У меня есть интерфейс:

Код: Выделить всё

public interface UserRepository {

Optional findById(UUID id);
Optional findByUsername(String username);

void save(User user);
void delete(User user);

}
Этот интерфейс реализован двумя репозиториями — JPA и Cassandra. В модели пользователя Jpa в таблице есть поле имени пользователя, но в Cassandra этого поля нет.

Код: Выделить всё

@Repository("jpaUserRepository")
@RequiredArgsConstructor
public class JpaUserRepository implements UserRepository {

private final SpringDataJpaUserRepository springDataJpaUserRepository;
private final JpaUserMapper jpaUserMapper;

....

@Override
public Optional findByUsername(String username) {
return springDataJpaUserRepository
.findJpaUserEntityByUsername(username)
.map(jpaUserMapper::toDomain);
}

....
}

Код: Выделить всё

@Repository("cassandraUserRepository")
@RequiredArgsConstructor
public class CassandraUserRepository implements UserRepository {

private final SpringDataCassandraUserRepository springDataCassandraUserRepository;
private final CassandraUserMapper cassandraUserMapper;

....

@Override
public Optional findByUsername(String username) {
return Optional.empty();
}

....
}
Поскольку модель пользователя в Cassandra не имеет поля имени пользователя, как мне реализовать метод findById() в репозитории Cassandra?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ava-spring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»