gpt4 book ai didi

java - hibernate 自动增量 getter/setter

转载 作者:行者123 更新时间:2023-12-02 00:48:54 28 4
gpt4 key购买 nike

我有一个类,它使用自动增量的 hibernate 表示法映射到表。当我设置值并将其更新到数据库时,此类工作正常,并且我在表中获得了正确的更新值。

但问题是,当我创建此类的新对象并尝试获取 id 时,它返回 0 而不是 auto_incremented id。

该类的代码是

@Entity(name="babies")
public class Baby implements DBHelper{

private int babyID;


@Id
@Column(name="babyID", unique=true, nullable= false)
@GeneratedValue(strategy = GenerationType.AUTO)
public int getBabyID() {
return babyID;
}
public void setBabyID(int babyID) {
this.babyID = babyID;
}
}

我用来获取持久值的代码是

宝 Paypal 贝=新宝贝(); System.out.println("宝宝ID = "+baby.getBabyID());

这会返回给我一个

BABY ID = 0

如有任何指点,我们将不胜感激。

谢谢,萨娜。

最佳答案

Hibernate 仅在实体持久化后(即将其保存到数据库后)才生成 id。在此之前,对象处于 transient 。这是一篇关于 Hibernate 对象状态和 lifecycle 的文章

关于java - hibernate 自动增量 getter/setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035038/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com