Все запросы из IgniteRepository работают нормально, но ни один пользовательский запрос, как показано ниже, не работает.
@RepositoryConfig(cacheName = "orders")
public interface OrderRepository extends IgniteRepository<Order, Long> {
List<Order> findAllByClientId(Long clientId);
}
javax.cache.CacheException: Failed to parse query. Syntax error in SQL statement "SELECT ""orders"".""ORDER""._KEY, ""orders"".""ORDER""._VAL FROM ORDER[*] WHERE ((ORDER.CLIENTID=?)) "; expected "identifier"; SQL statement:
SELECT "orders"."ORDER"._KEY, "orders"."ORDER"._VAL FROM Order WHERE ((Order.clientId=?)) [42001-197]
Конфигурация кэша:
@TestConfiguration
@EnableIgniteRepositories("repositories")
public class RepositoriesTestConfig {
@Bean("igniteCfg")
public IgniteConfiguration igniteConfiguration() {
IgniteConfiguration igniteConfiguration = new IgniteConfiguration();
igniteConfiguration.setClientMode(false);
igniteConfiguration.setIgniteInstanceName(instanceName);
igniteConfiguration.setPeerClassLoadingEnabled(true);
CacheConfiguration<Long, Order> ordersCacheConfiguration = new CacheConfiguration<>("orders");
ordersCacheConfiguration.setIndexedTypes(Long.class, Order.class);
igniteConfiguration.setCacheConfiguration(ordersCacheConfiguration);
return igniteConfiguration;
}
@Bean("igniteInstance")
public Ignite igniteInstance(@Autowired IgniteConfiguration
igniteConfiguration) {
final Ignite ignite = Ignition.start(igniteConfiguration);
return ignite;
}
}
Кажется, эта проблемане новаНо невозможно найти какое-либо решение.Та же проблема при использовании аннотации @Query.
ОБНОВЛЕНИЕ:
Проблема была с именованием Order.class, Order1 - работает, sql анализирует.