Auto Increment in hibernate using oracle
我是休眠的新手,我想在表中插入主号码以进行唯一标识。 我正在使用Oracle作为数据库,是否需要在oracle中创建序列以获取自动增量生成编号?
我正在使用以下代码,但无法正常工作。 我尚未创建任何序列。
1 2 3 | @Id @Column(name ="id" ) @GeneratedValue ( strategy = GenerationType.TABLE) |
我已经使用过
这是在JPA映射的实体中使用Oracle序列的一种方式:
1 2 3 4 | @Id @Column(name ="ID") @GeneratedValue(strategy = GenerationType.SEQUENCE, generator ="SEQUENCE_NAME") @SequenceGenerator(name ="SEQUENCE_NAME", sequenceName ="SEQUENCE_NAME", allocationSize = 1, initialValue = 1) |
这样,您的persist()方法将要求序列的下一个值,以便将其用作条目的ID。
您可以使用此
1 2 3 | @Id @Column(name ="id" ) @GeneratedValue(strategy=GenerationType.AUTO) |
在
如果您使用的是
例如,
1 2 3 4 5 6 7 8 9 | @GeneratedValue(strategy=GenerationType.TABLE, generator="course") @TableGenerator( name="course", table="GENERATOR_TABLE", pkColumnName ="key", valueColumnName ="next", pkColumnValue="course", allocationSize=30 ) |
对于其他选项,可以使用
1 2 3 | @Id @Column(name ="id" ) @GeneratedValue (strategy = GenerationType.AUTO) |
并确保正确配置了