一:使用默认的自增主键
主键自增有好几种策略:identity是MySql对应的自增、sequence对应oracle的自增序列,
native是根据所连接的数据库自动选择上诉两个或hilo策略
在 @Id 后边加上 @GeneratedValue,就相当于调用了native策略
(可以指定@GeneratedVlaue(strategy=GenerationType.IDENTITY)或者.SEQUENCE)
这样做有一个缺点,就是所有表都公用这一个sequence,要靠后边的方法解决
二:使用私有sequence
实体下边写
@Entity
@SequenceGenerator(name="SeqGen1",sequenceName="teacher_sequence")//name是这个序列生成器的代号,sequenceName是要存入数据库的序列的名字
............
@Id
@GeneratedVlaue(generator="SeqGen1")//写明使用哪个序列生成器
此注解是写在get方法上的