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

Kotlin Vert.x项目Hibernate Reactive集合类型构建错误排查

问题原因及解决方法

错误原因

你遇到的错误Collection 'com.chaluchukwu.drone_system.entities.Delivery.cargoes' is declared with a raw type and has an explicit 'targetEntity',核心原因有两点:

  • 集合类型不匹配:Hibernate的@OneToMany关联要求使用可变集合类型(如MutableList),你当前用的不可变List无法满足Hibernate运行时修改集合的需求,同时Kotlin的可空泛型集合可能导致泛型信息被擦除,被识别为原始(raw)类型。
  • 缺少关联配置:@OneToMany注解未指定mappedBy属性,Hibernate无法明确关联的反向实体字段,进一步加剧了泛型类型的识别问题。

修复方案

修改Delivery实体类中的cargoes字段声明:

@OneToMany(mappedBy = "delivery") // 这里的"delivery"对应Cargo类中@ManyToOne注解的字段名
open var cargoes: MutableList<Cargo> = mutableListOf()

注意:

  1. 将不可变的List替换为MutableList,确保Hibernate能正常维护集合关联。
  2. 移除可空标记?,用非空的mutableListOf()初始化,避免原始类型识别问题。
  3. 必须配置mappedBy,指定反向关联字段(需确保Cargo类中存在对应的@ManyToOne字段delivery),否则Hibernate会默认生成中间表,且无法正确识别泛型类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:57:44