gpt4 book ai didi

java - 如何将 java 对象的 ID 同步到其关联的数据库行?

转载 作者:行者123 更新时间:2023-11-30 06:36:38 25 4
gpt4 key购买 nike

在调用 entityManager.persist(object); 之后,如何将 java 对象的 ID 与其关联的数据库行同步?

并提交交易?如果您使用数据库设置 id 的任何策略,如果您想在以后的查询中使用对象,则需要从数据库中获取该 id 并将其设置在对象上。这:

entityManager.refresh(object);

不起作用,因为它使用 id 来查询对象,而这正是所缺少的。我唯一能想到的就是在数据库中查询对象的独特属性,然后在对象上设置 id。

也许有一个 ID 生成的最佳实践可以解决这个我不知道的问题。

最佳答案

persist() 使实例托管,这意味着 id 会在调用 persist() 之后存在,当交易发生时 promise 。你可以通过这样做来检查它,

System.out.println(someEntity.getId()); // null at this point of time
em.persist(someEntity)
System.out.println(someEntity.getId()); // should print the id

关于java - 如何将 java 对象的 ID 同步到其关联的数据库行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4654506/

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