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

  • 相关阅读:
    Linux(CentOS 7)iptables防火墙
    Linux(CentOS 7)DNS服务器搭建
    Linux(CentOS 7)LNMP环境搭建
    Linux(CentOS 7)nginx网站服务器
    Linux(CentOS 7)LAMP环境的搭建
    JavaScript 中repalce的使用
    DOM&BOM
    CSS颜色
    CSS中的单位
    Grid Layout 注释
  • 原文地址:https://www.cnblogs.com/1016882435AIDA/p/6028052.html
Copyright © 2020-2023  润新知