我的Java JPA實體使用下面的代碼來生成它的UUIDjava JPA較短的UUID?
@Entity
public class Myclass {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
String id;
String name;
}
在Oracle和Java作爲一個字符串,該ID最終會被這樣的事情:
2c96cc2a52f9f9a90152fa6549f40008
32十六進制字符串。
我必須與一些需要在不同地方保存我的ID的第三方系統進行交互,它必須是相同的。不幸的是,他們的字段只允許30個字符的字符串(任何字符,不僅是十六進制)。
所以我需要我的uuid看起來像一個30個字符或更少的字符串,無論它出現在哪裏(在oracle中,在java中,在第三方系統中等)。
我應該怎麼做才能使uuid的表示法使用所有字母數字字符('ghi ... z',但沒有奇怪的字符)變得更短,以及如何確保這種表示法在數據庫中可見並在應用程序?
非常感謝
定義「任何字符」。實際上,定義「char」。你的第三方定義爲「字符」是什麼? – fge
我的意思是我可以讓我的ID使用任何字母數字字符:0-9a-z,而不是僅使用十六進制字符,因爲它是目前的情況。 – MikaelW
UUID並不總是保證是唯一的。 – Tiny