hibernate UUID問題


前言: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具有一定的兼容性,操作正常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM