有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate UUID生成器位于单个非标识字段中

我试图在DB模型中强制hibernate生成UUID字段,但问题是该字段不是主@Id字段,不能以这种方式完成

我的模型是这样的:

@Entity
@Table(name = "myModel")
public class MyModel {
    private Long id;
    private UUID uuid;

    @Id @GeneratedValue(strategy=GenerationType.AUTO)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(columnDefinition = "BINARY", length = 16)
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    public UUID getUuid() {
        return uuid;
    }

    public void setUuid(UUID uuid) {
        this.uuid = uuid;
    }
}

有没有其他方法来实施这一战略

更新:

@Entity
@Table(name = "myModel")
public class MyModel {
    private Long id;
    private UUID uuid;

    @Id @GeneratedValue(strategy=GenerationType.AUTO)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Column(columnDefinition = "BINARY", length = 16)
    @Type(type="uuid-binary")
    public UUID getUuid() {
        return uuid;
    }

    public void setUuid(UUID uuid) {
        this.uuid = uuid;
    }
}

注意:@GenericGenerator不再需要,因此已被删除


共 (0) 个答案