trigger 是这样写的, 不是另一条insert, ,
create trigger y before insert on bob
for each row
when (new.a is null)
begin
select x.nextval into :new.a from dual;
end;
当我们插入单条或批量数据时, 不用考虑主键, trigger 会自动加上的.
而且trigger 是单步执行, 不会出现并发访问sequence的情况. 可减少数据库的contention, 而且我们在做表移植等维护操作时可暂时disable trigger, 还有我们可加一些条件在trigger 里, 可对主键强行付值.
总之, 好处多多.
我对hibernate只是使用, 并不打算深研究, 修改就谈不上了