sword_HAO 2018-01-30 04:17 采纳率: 25%
浏览 5138
已采纳

spring data jpa 自动生成数据库表的主键数据怎么定义成varchar类型

@Entity

@Table(name = "contract")

public class Contract implements Serializable {

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

@Column(name="contractNo",nullable=false,length=512)

private String contractNo;

@Column(name = "contract_year")

private String contractYear;

}

当我的contractNo定义成String类型是创建表数据的时候会报错,定义成int、Long、Integer类型就不会,要怎么设置才能创建varchar类型的数据表数据

  • 写回答

4条回答 默认 最新

  • Magical*Man 2018-01-30 05:36
    关注

    补充上图:GeneratedValue 有两个属性,一个定义自增的策略,适用于基本类型的;另一个属性 generator是String类型的,用于自定义的属性,结合@GenericGenerator注解,GenericGenerator注解有两个属性,一个是name属性定义名称,一个是strategy策略属性,包含有13中策略,其中一个就是uuid策略;使用这个注解时,有一个注意的地方就是generator属性要与name属性的名称一致,并且同时使用两个注解。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?