【发布时间】:2020-04-08 20:06:30
【问题描述】:
运行时出现错误。请帮助我理解问题。 我正在使用微软的 sql server
@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.
【问题讨论】:
-
请至少发布例外情况。
-
2020-04-08 22:09:33.258 WARN 6060 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper:SQL 错误:156,SQLState:S0001 2020 -04-08 22:09:33.259 错误 6060 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : der Nähe des where-Schlüsselworts 中的 Falsche 语法。
-
我会尝试在任何数据库工具中手动执行查询,放置现有的 storeId 以确保查询本身正确。
-
不,不是,我在 dbeaver sql 编辑器中遇到同样的错误
-
问题一定出在这里:inner join sf_store_product_availability_formatted storeprodu1_ on where 后面没有字