public List<DogModel> getDogData(DSLContext,dog_id) {
final Optional<?> result = Optional.ofNullable(dContext.select(DogBreed.breed, DogProfile.name,DogProfile.tag_id)
.from(DogProfile)
.join(DogBreed)
.on(DogProfile.tag_id.eq(DogBreed.tag_id))
.join(Dog)
.on(DogProfile.id.eq(Dog.id))
.where(DogBreed.breed.isNotNull().and(DogBreed.breed.notEqual("")).and(Dog.id.eq(dog_id)))
.fetch());
//how to return the list of dog model?
}
狗模型有:品种、名称和标签 ID
最佳答案
这是 RecordMapper
的案例.
如果您的 DogModel
是常规(或 JPA 带注释的)POJO,那么 DefaultRecordMapper
很可能能够自动将结果记录映射到您的 DogModel
对象。您无需在查询中调用 fetch()
,只需调用 fetchInto(DogModel.class)
。如果这不能按预期工作,您可以使用自己的 RecordMapper
实现。
关于java - 如何在列表中进行 jooq 多重连接和检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57379320/