2

我在设置 Hibernate 以使用 UUID 的 Oracle RAW(16) 时遇到问题

网络上有完美的例子吗?

1) 期待字符串但发现 RAW 2) 不长

目前我在 UUID 中使用 String,在 oracle 中使用 varchar(36)。

我可以知道如何使用 RAW 和 UUID 类型来设置这个 UUID

4

2 回答 2

4

甲骨文,

myUUID RAW(16) PK

JPA/休眠,

@Id
@Type(type = "uuid-binary")
@GeneratedValue(generator = "myGUID")
@GenericGenerator(name = "myGUID", strategy = "uuid2")
@Column(name = "myUUID", length = 16, unique= true, nullable = false)
public UUID getMyUUID() {
    return uuid;
}
于 2015-02-16T20:57:11.077 回答
1

DB:Oracle,Spring Data 非常简单。只需创建与此类似的实体

@Entity
public class SimpleUUID {
    @Column(name = "MY_FIELD")
    private UUID myField;

    ...

    //getters and setters omitted for simplicity 
}

当然,您需要在数据库上创建这个,但这个也很简单(例如使用 LIQUIBASE)

<createTable tableName="SIMPLE_UUID">
            <column name="MY_FIELD" type="RAW(16)"/>
 </createTable>
于 2019-11-12T19:09:37.587 回答