我有一个表,其中有UUID(唯一的UUID字符串)和srNO(序列号)等字段。我希望自动生成该字段。如何使用hibernate注释实现相同的效果。?
答案 0 :(得分:0)
据我所知,预计会在@GeneratedValue
字段中找到@GenericGenerator
或@Id
注释。 (将它们放在非id字段上不会有任何影响 - 和/或hibernate会抱怨无效映射。)
另一种解决方案是在使用@PrePersist
注释的方法中设置这些值,这样您就不必调用assignUuid()
:hibernate会在持久化实体之前为您执行此操作。
@Entity
public class MyEntityWithUUID {
@Id @GeneratedValue
private long id;
@NaturalId
private String uuid;
@PrePersist
public void assignUuid(){
uuid = generateUuid();
}
...
}