값 필드가 numeric
인 postgres를 사용하고 있습니다. JOOQ는 이것을 BigDecimal
으로 바꿉니다. 내 JOOQ 쿼리는 다음과 같습니다 SumById
이 id
와 sum
필드 데이터 클래스가JOOQ 합계 필드 값 : BigDecimal to Int
val sumField = DSL.sum(TABLE.VALUE)
val query = dsl().select(TABLE.id.`as`("id"), sumField.`as`("sum"))
.from(TABLE)
.groupBy(TABLE.id)
.fetch()
.map{
record -> SumById(
id = record.get("id").toString(),
sum = record.get("sum").toString().toInt()
)
}
:
data class SumById (val id: String, val sum: Int)
내가 .toString().toInt()
를 수행하여 Int
합계를 얻을 수 있습니다. 그러나 BigDecimal
을 Int
으로 바꾸는 더 좋은 방법이 있는지 궁금합니다.
PS
나는 이것이 JOOQ 질문보다 코 틀린 문제의 많은 것 같다.
이 record.get (문자열)'에 의해 반환되는 유형 무엇입니까' ? – jrtapsell
"레코드"클래스에 대한 사용자 지정 확장 메서드를 정의 할 수 있습니다. 읽는 것이 더 좋을 것입니다. –