hibernate在保存对象时更改id

时间:2017-07-12 08:37:29

标签: java hibernate-5.x

我有一个带有这个参数的对象

Tools > Android > Android Device Monitor > Window > Open perspective > Hierarchy View

我试图保存它

{
  "id"    : "36461dd3-2bdb-42de-8e3d-b44e28696b1e",
  "race"  : "HUMAN",
  "age"   : "18",
  "name"  : "Alisa"
}

在调试中,在保存之前,它会显示具有预期值的List<MainFemaleCharacter> batch = Arrays.asList(sampleMainCharacter()); try (Session session = sessionFactory.openSession()) { session.beginTransaction(); batch.forEach(session::save); session.getTransaction().commit(); } 。但是当我检索对象时,它会显示另一个id,例如id。为什么? dccaf5d0-5c2b-4336-a0f3-ff65f92bf5f1类看起来像这样

MainFemaleCharacter

1 个答案:

答案 0 :(得分:1)

注释@GeneratedValue将自动生成ID。它与 @GeneratedValue(strategy=GenerationType.AUTO)注释相同。

GenerationType.AUTO表示持久性提供程序选择一种策略,该策略将在服务器重新启动后重新启动值。

我建议您考虑使用GenerationType.SEQUENCE