在我们使用JPA时,需要数据库自增长主键,增加一个注解@GeneratedValue即可.

正常在没有数据库移植时,建议写全参数指定使用哪种DB的增长方式.

@Entity
@Table(name = "log")
public class Log {
	@Id
	@Column(name = "id")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private long id;
	
	... get set
}

每当插入新的日志时,这个ID就是由 123的方式向上自增…

@GeneratedValue注解的strategy属性提供四种值:
– AUTO: 主键由程序控制,是默认选项,不设置即此项。
– IDENTITY:主键由数据库自动生成,即采用数据库ID自增长的方式,Oracle不支持这种方式。
– SEQUENCE:通过数据库的序列产生主键,通过@SequenceGenerator 注解指定序列名,mysql不支持这种方式。
– TABLE:通过特定的数据库表产生主键,使用该策略可以使应用更易于数据库移植。

转载请注明原地址: http://blog.noark.xyz/article/2017/8/14/jpa之主键自增长/