JPA查询ElementCollection

时间:2018-08-12 16:05:08

标签: java jpa jpql

(我已经尝试过以前的答案,但无济于事)

我想获取所有具有sip = X的A对象。

public class A {

    @Id
    @ApiModelProperty(readOnly = true)
    private UUID id;

    @ElementCollection(fetch = FetchType.EAGER)
    @CollectionTable(name = "a_sips")
    @Column(name = "sip_id")
    private Set<Long> sips;
}

我尝试过:

public interface ARepository extends JpaRepository<A, UUID> {
    @Query("FROM A a JOIN a.sips s WHERE s = :sipId")
    Page<A> findAllBySip(@Param("sipId") Long sipId, Pageable pageable);
}

得到:

  

java.lang.IllegalArgumentException:   org.hibernate.TypeMismatchException:提供了错误类型的ID,用于   com.models类预期:类java.util.UUID,得到了类   java.lang.Long

我在做什么错了?

0 个答案:

没有答案