簡體   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