没得感情的吃饭机器
2017-06-07 10:43
采纳率: 0%
浏览 1.6k
已采纳

insert插入数据时序列增加1,使用hibernate时序列增加2

create table t_foo(
t_id int primary key,
t_value varchar2(50) not null
);

create sequence t_foo_0
increment by 1
start with 1
nomaxvalue
nominvalue
nocache

create or replace trigger t_foo_t
before insert on t_foo
for each row
begin
select t_foo_0.nextval into:new.t_id from dual;
end;

使用:
insert into t_foo(t_value) values('test');
图片说明
----------test代码
TFoo tfoo = new TFoo();
tfoo.setTValue("foo100");
Session session = HibernateUtils.openSession();
Transaction ts = session.getTransaction();
ts.begin();
session.save(tfoo);
ts.commit();
session.close();
图片说明
刚刚申请的号,求各位大神帮忙,不胜感激

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 伪墨 2017-06-09 08:38
    最佳回答

    去掉SEQUENCE的触发器,Hibernate是直接调用SEQUENCE.nextval的,此时如果数据库端有主键触发器的话就会增加2

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题