【发布时间】:2021-04-10 23:57:00
【问题描述】:
我有两张桌子
- 文章
- 评论
@Entity(name = "articles")
data class Article(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long,
@Column(name = "body")
val body: String,
@Column(name = "username")
val username: String,
@OneToMany
val comments: List<Comment>,
)
@Entity(name = "comments")
data class Comment(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long,
@Column(name = "username")
val username: String,
@Column(name = "text")
val text: String,
)
在存储库中:
interface ArticlesRepository : JpaRepository<Article, Long>{
fun findArticlesByUsername(username:String):List<Article>
}
Kotlin 中的代码
我只想获取所有文章和特定用户 cmets 的列表。
用查询用户(不是所有的 cmets)制作的 cmets 集查询文章的最佳方法是什么?
我发现有 Hibernate @Fetch 注释(例如@Fetch(FetchMode.SELECT))但不确定它是否可以使用或如何使用它。
数据示例:
- article_a
- comment_1 by user_x
- comment_2 by user_z
- article_b
- comment_1 by user_x
- article_c
我想查询user_z的文章+cmets
所以结果是:
- article_a
- comment_2 by user_z
- article_b
- article_c
对不起,我是新手,我正在尝试使用最佳实践来做到这一点。
谢谢
【问题讨论】: