我在设置 Hibernate 以使用 UUID 的 Oracle RAW(16) 时遇到问题
网络上有完美的例子吗?
1) 期待字符串但发现 RAW 2) 不长
目前我在 UUID 中使用 String,在 oracle 中使用 varchar(36)。
我可以知道如何使用 RAW 和 UUID 类型来设置这个 UUID
甲骨文,
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;
}
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>