如何使用 jpa 查詢從具有@OneToMany 關系的列中查找記錄?
課后
public class Post {
@Id
private String id;
...
...
@OneToMany(cascade = CascadeType.ALL, mappedBy = "comment", fetch = FetchType.LAZY)
private Set<Comment> comments;
}
評論類
public class Comment {
...
...
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "comment", referencedColumnName = "id")
private Post post;
}
有什么方法可以查詢PostRepository并找到Post使用的 commentId 嗎?
uj5u.com熱心網友回復:
要通過 commentId 查找,您只需在存盤庫界面中創建一個函式:
List<Comment> findByPost(Post post);
然后當您查詢時只需添加:
Post post = new Post();
post.setId(yourId);
repository.findByPost(post);
uj5u.com熱心網友回復:
假設Comment具有屬性,String id您可以按如下方式執行此操作:
public interface PostRepository extends JpaRepository<Post, String> {
List<Post> findByCommentsId(String id);
}
您可以在以下位置閱讀更多相關資訊:
- https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords
- https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/384397.html
