1
그래서 난과 같이 DSLContext
를 사용하여 POJO로 lazyly 일부 레코드를 가져 싶습니다JOOQ fetchLazy POJO로
public Iterator<Something> getSomething(DSLContext dsl) {
return dsl.selectDistinct(STUFF.FIELD)
.from(STUFF)
.fetchLazyInto(Something.class)
.iterator();
}
문제는 그런 fetchLazyInto()
이 없다는 것을 내가 fetchLazy().into(Something.class)
도
그래서 POJO에 게으른 페칭을 할 수 있습니까? 차라리이 RecordMapper
나는 확실히 다음을 수행 할 수있는 코딩을 피할 것 그러나 그것은 잘못된 느낌 :
dsl.selectDistinct(STUFF.FIELD)
.from(STUFF)
.fetchLazy()
.stream()
.map(Something::new) //now Something constructor is ugly
.iterator();
감사합니다! Iterator
가 AutoCloseable
를 확장하지 않고 같은, 당신이 매달려 자원을합니다 (Cursor
의이 JDBC ResultSet
의 기초가있을 수 있습니다 않습니다
dsl.selectDistinct(STUFF.FIELD)
.from(STUFF)
.fetchLazy()
.stream()
.map(r -> r.into(Something.class))
.iterator();
을하지만 :