插入UUID时无效的十六进制数

时间:2013-08-01 05:31:18

标签: java hibernate oracle11g

在oracle中我有一个DOC_ID列

RAW(16) for my UUID/GUID

在hibernate中我以这种方式映射

@ID
@GeneratedValue(Generator= "uuid")
@GenericGenerator(name="uuid", strategy="uuid2")
@Type(type="uuid-char")
@Column(name="DOC_ID", unique= true)
private UUID id;

在插入过程中,它一直在抱怨ORA-01465:十六进制数无效。

我可以知道那是什么问题吗?

1 个答案:

答案 0 :(得分:2)

UUID的char表示是36个字符,而二进制表示是16个字节。试试

@Type(type="uuid-binary")

而不是

@Type(type="uuid-char")