Java 如何为这种情况编写存储库方法?
我知道这不是定义汽车类别的最佳方式,但我很好奇,最后写了以下内容:Java 如何为这种情况编写存储库方法?,java,spring,hibernate,jpa,spring-data-jpa,Java,Spring,Hibernate,Jpa,Spring Data Jpa,我知道这不是定义汽车类别的最佳方式,但我很好奇,最后写了以下内容: @Entity @Table(name = "CAR") public class Car { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String manufacturer; private String model; @ElementC
@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
}
@实体
@表(name=“CAR”)
公车{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私人长id;
私人字符串制造商;
私有字符串模型;
@元素集合
@收集表(
name=“附件”,
joinColumns=@JoinColumn(name=“OWNER\u ID”)
)
@列(name=“附件”)
私人配件清单;
//接球手和接球手
}
及其存储库
@Repository
public interface CarRepository extends JpaRepository<Car, Long> {
}
@存储库
公共接口CarRepository扩展了JpaRepository{
}
现在,考虑到我想创建一个存储库方法来查找满足给定附件列表的所有汽车,我该怎么做?我在考虑一种类似findById()
之类的方法。
顺便说一句,如果你想回答“附件”是一个实体的问题,请放心
免责声明:是的,我尝试了方法
List findByAccessoriesIn(List as)
但它会带来列表中至少有一个元素的任何汽车。我想要列表中包含所有项目的所有汽车。“查找符合给定附件列表的所有汽车”
如果我理解正确的话-
findByAccessoriesIn(列出您的strList)在这种情况下应该可以工作
这里有一条类似的线索:
对于jpa中的列表,我们使用“in”where“i”是大写的。有点像。'in'子句带来的是任何至少有一个附件的汽车。我只想带来列表中所有附件的汽车。是的,传递那些你想找到汽车的附件字符串。我想这就是你要找的。试试吧。它带来任何你想找到的附件(列表为)