You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactiveStreamCrudRepository查询PostgreSQL无数据排查求助

问题:ReactiveStreamsCrudRepository无法从PostgreSQL返回数据(已解决)

问题描述

我是响应式编程与Micronaut的新手,使用Kotlin开发CRUD API时遇到了问题:ReactiveStreamsCrudRepository无法从PostgreSQL数据库返回数据。已确认数据库凭证正确,且待查询的记录确实存在。

相关代码实现

Repository层

@JdbcRepository(dialect = Dialect.POSTGRES)
interface EmployeeCrudRepository: ReactiveStreamsCrudRepository<EmployeeMaster, Int>, EmployeeRepository {
}
interface EmployeeRepository {
    fun findByEmployeeIdAndTcin(employeeId: UUID, tcin: String): Mono<EmployeeMaster>
}

实体类

@MappedEntity
@Table(name="employee")
data class EmployeeMaster (

    @Id
    @Column(name = "transaction_id")
    val transactionId: Int,

    @Column(name = "employee_id")
    val employeeId: UUID,

    @Column(name = "item_id")
    val itemId: UUID
)

业务逻辑层

fun getEmployeeDetailsResponse(registryId: UUID, itemId: String) : Mono<EmployeeDetailsDTO> {

        return getEmployeeDetails(employeeId, itemId)
            .map {
                    employeeDetails -> EmployeeDetailsDTO(employeeDetails)
            }
            .switchIfEmpty {
                logger.info("No records found")
                Mono.just(ItemDetailsDTO())
            }
    }
fun getEmployeeDetails(employeeId: UUID, itemId: String) : Mono<EmployeeDetailsDTO> {

        return employeeRepository.findByEmployeeIdAndTcin(registryId = registryId, tcin = itemId)
            .map {
                    employeeDetails -> EmployeeDetailsDTO(employeeDetails)
            }
            .switchIfEmpty {
                logger.info("No records found")
                Mono.just(EmployeeDetailsDTO())
            }
    }

Flyway配置

flyway {
        // ./gradlew -Ppostgres_host=localhost -Ppostgres_ssl='' -Ppostgres_user=postgres -Ppostgres_pwd=postgres flywayMigrate -i
        url = "jdbc:postgresql://${postgres_host}:5432/postgres${postgres_ssl}"
        user = "${postgres_user}"
        password = "${postgres_pwd}"
        schemas = ['public']
    }

问题解决

排查后发现传入的参数有误,代码实现本身没有问题,修正参数后可以正常返回响应。

内容的提问来源于stack exchange,提问作者Aditya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 13:30:52