有 Java 编程相关的问题?

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

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

在oracle中,我有一个DOC\u 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) 个答案

  1. # 1 楼答案

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

    @Type(type="uuid-binary")
    

    而不是

    @Type(type="uuid-char")