2016-08-31 15 views
0

我的春天数据查询:春天JPA的数据 - 在两个IN子句和一个或 - QuerySyntaxException

@Query("FROM NewsFeed nf where dealRoom.id =:dealRoomId and (fileFolder IN :folders or file in :files)") 
Page<NewsFeed> findByFolder(@Param("dealRoomId") final String dealRoomId, @Param("files") final List<File> files, @Param("folders") final List<FileFolder> folders, final Pageable pageable); 

而是我拿:

org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: {vector} [select count(nf) FROM NewsFeed nf where dealRoom.id =:dealRoomId and (fileFolder IN (:folders_0_, :folders_1_, :folders_2_, :folders_3_, :folders_4_, :folders_5_, :folders_6_, :folders_7_, :folders_8_, :folders_9_) or file in :files_0_, :files_1_, :files_2_, :files_3_, :files_4_, :files_5_, :files_6_, :files_7_, :files_8_, :files_9_, :files_10_, :files_11_)] 

有谁知道我为什么会采取QuerySyntaxException?

回答

1

问题是与在产生错误的SQL第二IN条款(值不带括号包围):

file in :files_0_, :files_1_, :files_2_ 

这是在休眠公认的错误,并且似乎是固定为5.0.7 HHH-9630