我正试图在新的响应式数据r2dbc中复制我在Spring Data JPA中使用的一些功能。我知道r2dbc不是完全的ORM,但想了解如何在r2dbc中复制以下情况的最佳方式:
public class Doctor extends BaseModel {
//other fields and id
@NotNull
@Enumerated(EnumType.STRING)
@ElementCollection(fetch = FetchType.LAZY, targetClass = Language.class)
@CollectionTable(name = "doctor_language",
joinColumns = @JoinColumn(name = "doctor_id"))
@Column(name = "language")
private List<Language> languages = new ArrayList<>();
@OneToMany(fetch = FetchType.LAZY, targetEntity = DoctorHealthProvider.class, mappedBy =
"doctor")
private List<DoctorHealthProvider> providers = new ArrayList<>();
// other fields
}
如果我使用Spring Data JPA,对DoctorRepository (JpaRepository的扩展)调用一个简单的findById方法,将会给我返回一个带有来自doctor_language表的语言列表和来自health_provider表的健康提供商列表的doctor
对象。
我正在阅读关于投影的文章,但似乎无法想出在响应式Spring中实现上述内容的最佳方法。任何帮助/指导/方向都将不胜感激。
谢谢