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
实现。