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

hibernate UUID问题的更多相关文章

  1. java Hibernate UUID代码

    package mypack; import java.io.Serializable; import java.net.InetAddress; /** * 唯一主键生成办法.从Hibernate中 ...

  2. hibernate uuid

  3. Base64压缩UUID长度替换Hibernate原有UUID生成器

    本文来自http://my.oschina.net/noahxiao/blog/132277,个人储藏使用 1.背景 在采用Hibernate做对象映射时,我一直都采用UUID来做主键.由于Hiber ...

  4. Spring 3.1新特性之四:p命名空间设置注入(待补充)

    https://www.ibm.com/developerworks/cn/java/j-lo-jparelated/ http://www.ibm.com/developerworks/cn/jav ...

  5. 生成Base58格式的UUID(Hibernate Base64格式的UUID续)

    Base58简介 Base58采用的字符集合为“123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ”,从这不难看出,Base58是纯数 ...

  6. Hibernate Annotation 生成数据库表(UUId)

    User.java实体类 package com.tao.pojo; import javax.persistence.Column; //用注解的方式生成表 import javax.persist ...

  7. spring data jpa、Hibernate开启全球唯一UUID设置

    spring data jpa.Hibernate开启全球唯一UUID设置 原文链接:https://www.cnblogs.com/blog5277/p/10662079.html 原文作者:博客园 ...

  8. Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;

    项目部署,启动过程中有以下警告: [WARN]: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 41 ...

  9. 【hibernate】主键生成策略使用UUID报出如下警告:org.hibernate.id.UUIDHexGenerator - HHH000409: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;

    主键生成策略使用UUID报出如警告如下: 控制台- 2017-11-24 18:40:14 [restartedMain] WARN org.hibernate.id.UUIDHexGenerator ...

随机推荐

  1. 初刷LeetCode的感受

    自从上个月进入实验室的云安全项目组后,因为要接触到实际的代码,在实验室博士的建议下我们项目组的硕士开始刷LeetCode练习编程能力,保持每周抽空刷几道算法题.虽然刷的不多,到现在一共只刷了不到30题 ...

  2. Error:Flash Download Failed-"Cortex-M3"

    Error:Flash Download Failed-"Cortex-M3"出现一般有两种情况: 1.SWD模式下,Debug菜单中,Reset菜单选项(Autodetect/H ...

  3. S5P4418开发板介绍

    网站:http://topeetboard.com 1. 控制台(console)串口使用串口线连接开发板的 COM3到PC 机的串口,如果PC 或笔记本没有串口,就需要准备一条 USB 转串口的设备 ...

  4. AWS S3 CLI的权限bug

    使用AWS CLI在S3上创建了一个bucket,上传文件的时候报以下错误: A client error (AccessDenied) occurred when calling the Creat ...

  5. Linux 下系统调用的三种方法

    系统调用(System Call)是操作系统为在用户态运行的进程与硬件设备(如CPU.磁盘.打印机等)进行交互提供的一组接口.当用户进程需要发生系统调用时,CPU 通过软中断切换到内核态开始执行内核系 ...

  6. 【JavaScript Demo】回到顶部功能实现

    随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多.当内容堆积影响了用户体验,就需考虑如何提升用户体验.在这一系列的改动中,“回到顶部”的功能成为了一个经典. 1.页面布 ...

  7. File类-文件基本操作

    package com.java.io; import java.io.File; import java.io.IOException; import java.math.BigDecimal; i ...

  8. [No000068]document.body.clientHeight 和 document.documentElement.clientHeight 的区别

    document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.docume ...

  9. [bzoj1901][zoj2112][Dynamic Rankings] (整体二分+树状数组 or 动态开点线段树 or 主席树)

    Dynamic Rankings Time Limit: 10 Seconds      Memory Limit: 32768 KB The Company Dynamic Rankings has ...

  10. return false

    ”return false“到底做了什么? 当你每次调用”return false“的时候,它实际上做了3件事情: •event.preventDefault();•event.stopPropaga ...