【发布时间】:2021-07-18 16:02:39
【问题描述】:
我知道这不是定义汽车类的最佳方式,但我很好奇,最后写了这个:
@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); 方法,但它会带来任何至少包含列表中的一个元素的汽车。我想要列表中包含所有项目的所有汽车。
【问题讨论】:
-
你在寻找 findAllByAccessories(List
as)
标签: java spring hibernate jpa spring-data-jpa