休眠 JPA 生成 id

时间:2021-07-23 14:37:37

标签: java hibernate jpa

我希望自动生成主键“puid”。但是我的 puid 仍然总是 0。我尝试了不同的 GeneratedValue 变体(Sequence、Identity 和 Auto),但结果是一样的。

这是我的代码:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long puid;

有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

  1. puid 的默认值是 0,当对象刚创建时。
  2. Hibernate 认为您手动设置了 puid 值,Hibernate 不会更改它。 只需将 long 更改为 Long 即可获得 null 初始值。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long puid;

答案 1 :(得分:2)

使用同样支持 null 值的 Wrapper 对象。

把长改成长