Hibernate 可以出色地自动生成主键。Hibernate/EBJ 3 注释也能够为主键的自动生成提供丰富的支持,容许实现各类策略。
其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都是JPA的标准用法, JPA提供四种标准用法,由@GeneratedValue的源代码能够明显看出.
JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.
TABLE:使用一个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
IDENTITY:主键由数据库自动生成(主要是自动增加型)
AUTO:主键由程序控制。
在指定主键时,若是不指定主键生成策略,默认为AUTO。
@Id
至关于
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
identity:
使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,要设定sequence(MySQL 和 SQL Server 中很经常使用)。
Oracle就要采用sequence了.数据库
我这里把自动生成修改成这样就能够了:ide
@GeneratedValue(strategy=GenerationType.IDENTITY)spa