Я пытаюсь обновить все приложение и использовать подход реактивного программирования с PostgreSQL, поэтому я обновляю репозитории и расширяю их от R2dbcRepository, обновляю также связанные службы для обработки Mono и Flux. Когда я пытаюсь запустить приложение, у меня возникает исключение
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'temperatureLibraryReactiveRepository'
defined in com.PlayGroundAdv.Solar.repositories.reactive.TemperatureLibraryReactiveRepository defined
in @EnableR2dbcRepositories declared on SolarApplication: Invocation of init method failed
nested exception is java.lang.IllegalArgumentException: Failed to create query for method
public abstract reactor.core.publisher.Flux
com.PlayGroundAdv.Solar.repositories.reactive.TemperatureLibraryReactiveRepository.findAll(org.springframework.data.domain.Pageable)!
No property findAll found for type TemperatureLibraryEntity!
Я не уверен, связано ли это с использованием Pageable
, и если это так, я не нашел альтернативы для Pageable
с подходом R2DBC.
все раньше работало нормально с подходом JPA вот мой репозиторий
import com.PlayGroundAdv.Solar.entity.TemperatureLibraryEntity;
import com.PlayGroundAdv.Solar.model.AllPostalCodeModel;
import org.springframework.data.domain.Pageable;
import org.springframework.data.r2dbc.repository.Modifying;
import org.springframework.data.r2dbc.repository.Query;
import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
import javax.transaction.Transactional;
@Repository
public interface TemperatureLibraryReactiveRepository extends R2dbcRepository<TemperatureLibraryEntity, Long> {
// A.B 11-18 Get All Temp By postal Code
Flux<TemperatureLibraryEntity> findByPostalCode(String postalCode, Pageable pageable);
String FIND_POSTAL_CODE = "SELECT new com.PlayGroundAdv.Solar.model.AllPostalCodeModel ( u.id, u.postalCode) FROM TemperatureLibraryEntity u order by u.postalCode";
@Transactional
@Modifying
@Query(value = FIND_POSTAL_CODE)
Flux<AllPostalCodeModel> findAllPostalCode();
Flux<TemperatureLibraryEntity> findAll(Pageable pageable);
}