Reified ν€μλλ₯Ό μ¬μ©νλ©΄ μ λ€λ¦ ν¨μμμ Runtimeμ νμ μ 보λ₯Ό μ μ μλ€. (보ν΅μ μ»΄νμΌ μμλ§ νμ μ μ μ μκ³ λ°νμμμ νμ μ 보λ μ‘΄μ¬νμ§ μκ² λλ€.)
μ¦, λ°νμμμλ νμ μ 보λ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ μΈμ€ν΄μ€λ₯Ό μ°ΎκΈ°κ° μ½λ€.
reified λ inline funκ³Ό ν¨κ» μ¬μ©λλ©° ν¨μμ 맀κ°λ³μλ‘ T νμ ν΄λμ€λ₯Ό λ°λ κ²μ μλ΅ν μ μλ€. μΆκ°μ μΌλ‘ T ν΄λμ€λ₯Ό λκ²¨μ€ νμκ° μλ€λ μ μ΄ μ’μ κ² κ°λ€.
λ€μμ R2dbcEntityTemplate 쿼리 μ€νμ μν ν¨μμ΄λ€.
κΈ°μ‘΄ μ½λ)
private fun <T: Any> executeQuery(build: Select, entityClass: KClass<T>): Flow<T> = r2dbcEntityTemplate.query(
QueryBuilder(
SqlRenderer.toString(build)
),
entityClass.java
).all().asFlow()
λ³κ²½λ μ½λ)
private inline fun <reified T: Any> executeQuery(build: Select): Flow<T> = r2dbcEntityTemplate.query(
QueryBuilder(
SqlRenderer.toString(build)
),
T::class.java
).all().asFlow()
'Language > Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Kotlin μμ νλ‘νΌν° Observable (0) | 2023.09.05 |
---|---|
[Kotlin] associateBy, groupBy (0) | 2023.02.21 |
Kotlin Coroutine Context, Coroutine Builder (0) | 2022.11.01 |