Первое решение
Вы можете реализовать JpaRepository
вместо CrudRepository
, который предоставляет метод getOne, который возвращает RoomEntity, как вы ожидаете. (JpaRepository
для JPA или MongoRepository
для MongoDB):
public interface RoomRepository extends JpaRepository<RoomEntity, Long> {
List<RoomEntity> findAllById(Long id);
}
и
RoomEntity roomEntity = roomRepository.getOne(roomId);
Обратите внимание, что EntityNotFoundException
будет выброшено, если для этого номера не будет RoomEntity.
Второй раствор
Метод findById в CrudRepository возвращает необязательный параметр, поэтому вы должны правильно с ним обращаться, чтобы получить RoomEntity, если таковой имеется. Например:
RoomEntity roomEntity = optionalEntity.roomRepository.findById(roomId).get();
В этом случае .get()
сгенерирует NoSuchElementException
, если для этой комнаты нет идентификатора RoomEntity.
Эта статья может помочь понять дополнительные: http://www.baeldung.com/java-optional