@TableGenerator

    xiaoxiao2021-03-25  89

    @Id @Column(name = "f_user_id", unique = true, nullable = false) @TableGenerator(name = "tg_cms_user", pkColumnValue = "cms_user", table = "t_id_table", pkColumnName = "f_table", valueColumnName = "f_id_value",  initialValue = 1,  allocationSize = 1) @GeneratedValue(strategy = GenerationType.TABLE, generator = "tg_cms_user") public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; }

    @TableGenerator

    name:属性表示该表主键生成策略的名称,它被引用在@GeneratedValue中设置的“generator”值中;

    table:属性表示表生成策略所持久化的表名,例如,这里表使用的是数据库中的“t_id_table";

    catalog:属性和schema具体指定表所在的目录名或是数据库名;

    pkColumnName:属性的值表示在持久化表中,该主键生成策略所对应键值的名称。例如在“t_id_table”中将“f_table”作为主键的键值;

    valueColumnName:属性的值表示在持久化表中,该主键当前所生成的值,它的值将会随着每次创建累加。例如,在“t_id_table”中将“f_id_value”作为主键的值;

    pkColumnValue:属性的值表示在持久化表中,该生成策略所对应的主键。例如在“t_id_table”表中,将“f_table”的值为“CUSTOMER_PK”;

    initialValue:表示主键初识值,默认为0;

    allocationSize:表示每次主键值增加的大小,例如设置成1,则表示每次创建新记录后自动加1,默认为50;

    @Column unique: 属性表示该字段是否为唯一标识,默认为false。如果表中有一个字段需要唯一标识,则既可以使用该标记

     nullable:属性表示该字段是否可以为null值,默认为true

    转载请注明原文地址: https://ju.6miu.com/read-13894.html

    最新回复(0)