我使用Hibernate注释自动为对象生成UUID。 每个对象在文件服务器上获得自己的目录,该目录由生成的对象的UUID命名。
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@NotNull
@Column(name = "m_uuid")
private String mUUID;
UUID是唯一允许您确定对象的字段。有没有办法在持久化对象后恢复生成的值,而不创建新查询?
答案 0 :(得分:2)
你需要持久化并刷新持久化上下文:
entityManager.persist(entity);
entityManager.flush();
entity.getId();
这样可以保证实体被附加,并且唯一执行的语句是INSERT,因此不需要查询语句。