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

Hibernate @OneToMany在MariaDB与PostgreSQL中的输出差异问题

Hibernate @OneToMany关联在MariaDB下返回空数组,但PostgreSQL正常的异常排查

现象描述

  • 环境:Docker部署的最新版PostgreSQL和MariaDB容器,搭配对应最新JDBC驱动
  • 实体关系:使用Hibernate的@OneToMany/@ManyToOne双向关联
  • 异常情况:
    • PostgreSQL驱动下,持久化后调用parent.getChildren()能正常获取子实体
    • MariaDB驱动下,已确认Child表的外键字段已正确填充父UUID,但调用parent.getChildren()返回空数组

实体代码

Parent实体:

@Entity
@Data //(lombok)
public class Parent {

  @Id
  @Column(nullable = false, updatable = false, columnDefinition = "uuid")
  @GeneratedValue(strategy = GenerationType.AUTO)
  UUID id;

  ...
  @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  List<Child> children = new ArrayList<>()

}

Child实体:

@Entity
@Data //(lombok)
public class Child {

  @Id
  @Column(nullable = false, updatable = false, columnDefinition = "uuid")
  @GeneratedValue(strategy = GenerationType.AUTO)
  UUID id;

  ...

  @JsonIgnore
  @ManyToOne(fetch = FetchType.LAZY)
  @JoinColumn(nullable = false)
  Parent parent;

}

已确认信息

  • Child表中对应外键字段已正确存储父实体的UUID值
  • 数据库连接配置正确,其他CRUD操作均正常

请求帮助

恳请确认该现象是否普遍存在,或提供可行的排查方向/解决方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:25:23