在我的spring项目中,字段Id(用作我的实体类的主键)有这样的注释:
@Id
@Column(name = "id")
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
但是当Hibernate在我的postgresql数据库中创建表时,会使用Integer类型创建此字段。我希望使用Serial类型创建此字段。有没有办法做到这一点?
更新
我更改字段的声明如果为此:
@Id
@Column(name = "id", columnDefinition = "serial")
@GeneratedValue(strategy=GenerationType.AUTO)
现在,当我使用空白数据库启动应用程序时,数据库中没有创建任何内容。
更新2
我测试了这个配置:
@SequenceGenerator(allocationSize=1, initialValue=1, sequenceName="usuario_id_seq", name="usuario_id_seq")
@GeneratedValue(generator="usuario_id_seq", strategy=GenerationType.SEQUENCE)
@Generated(GenerationTime.INSERT)
@Id
@Column(name="id", columnDefinition="serial")
private Integer id;
表已创建,但主键创建为integer
,而不是serial
,我想要的。