我有一个实体EncodingResult,它引用了另外三个实体,我想知道如何使用存储库的findBy()方法来返回一个基于foreignKey的实体,这样我就可以,例如,发出一个GET请求,传递一个Video的外键作为参数,并返回是否存在一个EncodingResult,其中包含一个具有给定foreignKey的Video。你将如何着手做这件事呢?我试着阅读了一些关于EntityGraphs的文章,但相当困惑。而且似乎也没有太多的内容来解释框架的这些部分。
EncodingResult
findBy()
foreignKey
GET
EntityGraphs
goqiplq21#
如果您发布实体的代码会更好,但从您的描述来看,我认为您有类似以下的内容:
@Entity public class EncodingResult { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @OneToMany(mappedBy = "encodingResult") private List<Video> videos=new ArrayList<Video>(); //...boilerplate }
@Entity public class Video { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; @ManyToOne EncodingResult encodingResult; //...boilerplate }
所以你可以像这样在EncodingResultRepository中定义findBy方法。
EncodingResultRepository
public interface EncodingResultRepository extends JpaRespository<EncodingResult, Integer> { public Optional<EncodingResult> findByVideoName(String name); public Optional<EncodingResult> findByVideoId(Integer id); }
1条答案
按热度按时间goqiplq21#
如果您发布实体的代码会更好,但从您的描述来看,我认为您有类似以下的内容:
所以你可以像这样在
EncodingResultRepository
中定义findBy方法。