繁体   English   中英

我该如何为这种情况编写存储库方法?

[英]How can I write a repository method for this situation?

我知道这不是定义汽车 class 的最佳方式,但我很好奇,最后写了这个:

@Entity
@Table(name = "CAR")
public class Car {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String manufacturer;
    private String model;

    @ElementCollection
    @CollectionTable(
        name="ACCESSORY",
        joinColumns=@JoinColumn(name="OWNER_ID")
    )
    @Column(name="ACCESSORIES")
    private List<String> accessories;

    //getters and setters
}

及其存储库

@Repository
public interface CarRepository extends JpaRepository<Car, Long> {   
}

现在,考虑到我想创建一个存储库方法来查找所有符合给定配件列表的汽车,我该怎么做? 我正在考虑使用findById()类的方法。 顺便说一句,如果您想以“附件”是一个实体的方式回答,请随意。

免责声明:是的,我尝试了List<Car> findByAccessoriesIn(List<String> as);方法但它会带来任何在列表中至少包含一个元素的汽车。 我想要所有在列表中包含所有项目的汽车。

“找到所有符合给定配件列表的汽车“

如果我理解正确,那么 findByAccessoriesIn(List yourStrList) 应该在这种情况下工作。

类似的线程在这里: Spring CrudRepository findByInventoryIds(List<Long> inventoryIdList) - 相当于 IN 子句

对于 jpa 中的列表,我们使用“in”,其中“i”是大写字母。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM