前言:hibernate對於字符串類型主鍵支持UUID主鍵生成策略,(號稱是世界上唯一的字符串)
運行環境:運行環境:hibernate5.2,mysql5.6
一,使用hibernate給String類型id設置uuid的兩種方式
①,注解
@GeneratedValue(generator = "uuid")
@GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid")
②,配置文件
<generator class="uuid.hex" />
備注:通過這兩種方式都可以給String類型id設置uuid,由hibernate自動生成一個id值插入數據庫。如果在數據庫直接插入數據則必須傳入主鍵id,未經過hibernate是不會生成id的。
二,根據uuid操作對象時應注意的問題
由於主鍵id為字符串類型,在做數據庫操作(增刪改查)時id必須用單引號引用,否則失敗。
id值沒有使用單引號引用,並且我們在沒有使用hibernate給我們自動生成uuid時,自己手動*插入較短*的id時,mysql具有一定的兼容性,操作正常。
