Hibernate框架-@TableGenerator注解

本文探讨了Hibernate框架中的@TableGenerator注解,它允许主键的值通过查询特定表来获取,并在使用后自动更新。配合@GeneratedValue注解,可以设置不同的主键生成策略,如AUTO、TABLE、IDENTITY和SEQUENCE。详细介绍了@TableGenerator的属性及其用法,并通过测试案例展示了其实现过程。控制台虽未显示相关SQL语句,但生成的generator表能为任何表提供主键,确保了主键的连续性。
摘要由CSDN通过智能技术生成

主键的值以查询的形式从一个特定的表中获取,获取完之后修改主键值,理论上可以兼容任何数据库。
要配合@GeneratedValue注解—— 注解声明了主键的生成策略。有如下属性:

  • strategy 指定生成的策略(JPA 定义的),类型为GenerationType(枚举)。
    默认是 GenerationType. AUTO
    GenerationType.AUTO 主键由程序控制
    GenerationType.TABLE 使用一个特定的数据库表来保存主键
    GenerationType.IDENTITY 主键由数据库自动生成(主要是自动增长类型)
    GenerationType.SEQUENCE 根据底层数据库的序列来生成主键,条件是
    数据库支持序列。(这个值要与 generator 一起使用)

  • generator 指定生成主键使用的生成器)。

@TableGenerator注解属性:

@TableGenerator(
        name="generator",           //生成器名称
        table="GENERATOR",          //指定表名
        pkColumnName="pk_key",      //Primary key Column Name 表示在持久化表中,该主键生成策略所对应键值的名称 字符串类型
        valueColumnName="pk_value", //表示在持久化表中,该主键当前所生成的值 整型
        pkColumnValue="TEACHER",    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值