Java PagingAndSortingRepository查询返回与一组实体匹配的实体

Java PagingAndSortingRepository查询返回与一组实体匹配的实体,java,hibernate,jpa,spring-data-jpa,Java,Hibernate,Jpa,Spring Data Jpa,我将JPA与Hibernate一起使用。我有这个实体: package com.test.model.entity; @Entity public class Article { @ManyToMany(fetch = LAZY, cascade = DETACH) private Set<Tag> tags; } 您可以将@Query和Pageable组合在一起。尝试: @Query("select a from Article a where a.tags =

我将JPA与Hibernate一起使用。我有这个实体:

package com.test.model.entity;

@Entity
public class Article {
    @ManyToMany(fetch = LAZY, cascade = DETACH)
    private Set<Tag> tags;
}

您可以将
@Query
Pageable
组合在一起。尝试:

@Query("select a from Article a where a.tags = any (:tagsToContain)")
Page<Article> findAllByTags(Set<Tag> tagsToContain, Pageable pageabled);
@Query(“从文章a中选择一个,其中a.tags=any(:tagsToContain)”)
PageFindAllByTags(设置tagsToContain,可分页Pageable);
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: : near line 1, column 71 [SELECT a FROM com.test.model.entity.Article a WHERE a.tags = ANY (:tagsToContain)]
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1750)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:331)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:344)
    at com.sun.proxy.$Proxy92.createQuery(Unknown Source)
    at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:86)
    ... 55 more
@Query("select a from Article a where a.tags = any (:tagsToContain)")
Page<Article> findAllByTags(Set<Tag> tagsToContain, Pageable pageabled);