Spring JPA Hibernate JPQL 查找在 where 子句中传递的项目的索引
Posted
技术标签:
【中文标题】Spring JPA Hibernate JPQL 查找在 where 子句中传递的项目的索引【英文标题】:Spring JPA Hibernate JPQL find index of item that was passed in where clause 【发布时间】:2016-12-31 05:29:24 【问题描述】:假设我有一个实体
@Entity
class DummyEntity
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@ElementCollection
@CollectionTable(name = "my_integers", joinColumns = @JoinColumn(name = "my_integers_id"))
private List<Integer> listOfIntegers;
//getters setters
现在我想知道一个整数是否在 DummyEntitys listOfInteger 中,所以在JpaRepository
我写
public interface DummyEntityRepository implements JpaRepository<DummyEntity, Long>
@Query(value = "SELECT d from DummyEntity where :i MEMBER OF d.listOfIntegers")
List<DummyEntity> parentsOfI(@Param("i") int i);
到目前为止还可以,但是现在我想在listOfIntegers
中找到i
的索引,我该怎么做?或者我可以这样做吗?
【问题讨论】:
我确信唯一的方法就是以编程方式。此外,是List
而不是Set
。如果 List 中有重复的整数会怎样?
很高兴接受它作为答案(除了以编程方式找不到任何其他方式),请将其作为答案发布。
【参考方案1】:
唯一的方法是编程。
此外,是 List
而不是 Set
。
如果List中有重复的整数会怎样?
【讨论】:
以上是关于Spring JPA Hibernate JPQL 查找在 where 子句中传递的项目的索引的主要内容,如果未能解决你的问题,请参考以下文章
无法在 FROM 子句中使用子查询编写 JPQL 查询 - Spring Data Jpa - Hibernate
Spring JPA Hibernate JPQL 查找在 where 子句中传递的项目的索引