ошибка в запросе в спящем режиме: SQL ошибка: 156, состояние SQLState: S0001 - PullRequest
0 голосов
/ 08 апреля 2020

ошибка приходит во время выполнения. Пожалуйста, помогите мне понять проблему. я использую майкрософт sql сервер

@Query("SELECT p from Product p JOIN FETCH StoreProductAvailability as spaFirst JOIN FETCH p.colors c WHERE spaFirst.available = true AND spaFirst.colorId <> 'null' AND spaFirst.colorId is not null and spaFirst.storeId = :storeId AND p.id = spaFirst.articleId AND c.colorId in (SELECT spaSecond.colorId from StoreProductAvailability spaSecond WHERE spaSecond.available = true AND spaSecond.colorId <> 'null' AND spaSecond.colorId is not null and spaSecond.storeId = :storeId and spaSecond.articleId = spaFirst.articleId)")
List<Product> findBlabla(int storeId);
Hibernate: select product0_.article_id as article_1_0_0_, colors2_.id as id1_2_1_, product0_.article_info as article_3_0_0_, product0_.commodity_group_id as commodit7_0_0_, product0_.info1 as info4_0_0_, product0_.material as material5_0_0_, product0_.article_name as article_2_0_0_, product0_.price as price6_0_0_, product0_.size_id as size_id8_0_0_, colors2_.color_id as color_id2_2_1_, colors2_.color_name as color_na3_2_1_, colors2_.article_id as article_4_2_1_, colors2_.article_id as article_4_2_0__, colors2_.id as id1_2_0__ from sf_article product0_ inner join sf_color_article_mapping colors2_ on product0_.article_id=colors2_.article_id inner join sf_store_product_availability_formatted storeprodu1_ on where storeprodu1_.available=1 and storeprodu1_.color_id<>'null' and (storeprodu1_.color_id is not null) and storeprodu1_.customer_id=? and product0_.article_id=storeprodu1_.article_id and (colors2_.color_id in (select storeprodu3_.color_id from sf_store_product_availability_formatted storeprodu3_ where storeprodu3_.available=1 and storeprodu3_.color_id<>'null' and (storeprodu3_.color_id is not null) and storeprodu3_.customer_id=? and storeprodu3_.article_id=storeprodu1_.article_id))
2020-04-08 22:09:33.258  WARN 6060 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 156, SQLState: S0001
2020-04-08 22:09:33.259 ERROR 6060 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper   : Falsche Syntax in der Nähe des where-Schlüsselworts.

1 Ответ

0 голосов
/ 09 апреля 2020

Проблема:

JOIN FETCH StoreProductAvailability as spaFirst

Является ли StoreProductAvailability частью Product? Тогда вы бы сделали это как с p.colors., как join fetch p.availabilities.

Или это совершенно не связано? Затем вам нужно будет переписать ваш запрос, поскольку вы не можете присоединиться к fetch несвязанным объектам / коллекциям. Обновление: вы можете присоединиться к несвязанным сущностям начиная с Hibernate 5.1+.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...