0

我有一张表,其中有 UUID (unique UUID String) 和 srNO(serial number) 等字段。我希望这两个字段都自动生成。如何使用休眠注释实现相同的效果。?

4

1 回答 1

0

据我所知,预计会在字段上找到@GeneratedValueor注释。(将它们放在非 id 字段上不会有任何效果 - 和/或休眠会抱怨映射无效)。@GenericGenerator@Id

另一种解决方案是在带有注释的方法中设置这些值,@PrePersist这样您就不必调用assignUuid(): hibernate 会在持久化实体之前为您执行此操作。

@Entity
public class MyEntityWithUUID {

    @Id @GeneratedValue
    private long id;

    @NaturalId
    private String uuid;

    @PrePersist
    public void assignUuid(){
        uuid = generateUuid();
    } 

    ...
}
于 2013-11-14T15:11:53.817 回答