Hibernate - 获取持久化Object以获取生成的数据

时间:2014-06-05 10:46:34

标签: hibernate persistence entitymanager

我使用Hibernate注释自动为对象生成UUID。 每个对象在文件服务器上获得自己的目录,该目录由生成的对象的UUID命名。

@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@NotNull
@Column(name = "m_uuid")
private String mUUID;

UUID是唯一允许您确定对象的字段。有没有办法在持久化对象后恢复生成的值,而不创建新查询

1 个答案:

答案 0 :(得分:2)

你需要持久化并刷新持久化上下文:

entityManager.persist(entity);
entityManager.flush();
entity.getId();

这样可以保证实体被附加,并且唯一执行的语句是INSERT,因此不需要查询语句。