Java PagingAndSortingRepository查询返回与一组实体匹配的实体
我将JPA与Hibernate一起使用。我有这个实体: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 =
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);