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

JPA Buddy生成数据库快照时报实体ID属性为空错误求助

报错原因

问题出在TransactionGroup实体的getId()方法上——你错误地给这个方法添加了@ManyToOne注解。这个注解是用来声明多对一关联关系的,完全不应该用在ID属性的getter方法上。

JPA Buddy在解析实体元数据时,会被这个错误注解干扰,无法正确识别id字段作为实体的主键,最终导致抛出“Id attribute is null for entity”的错误。把long改成Long没用,因为核心问题不是ID的类型,而是错误的注解。

修复方案

直接删除getId()方法上的@ManyToOne注解即可,修正后的TransactionGroup实体代码如下:

@Entity
@Table(name = "Transaction_Group")
public class TransactionGroup {

  @Id 
  @GeneratedValue 
  private long id;

  @TenantId
  @Column(name = "tenant_id", nullable = false)
  private String tenantId;

  @Column(name = "timestamp", nullable = false)
  private long timestamp;

  // 移除了错误的@ManyToOne注解
  public long getId() {
    return id;
  }

  public String getTenantId() {
    return tenantId;
  }

  public long getTimestamp() {
    return timestamp;
  }
}

修正后重新生成数据库快照,问题就能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:05:19