问题描述:
在oracle数据库中使用了序列+触发器实现了id自增,但是操作中发现,插入数据时返回的id与数据库中的id不一致
原因:
自己在xml非常大意写错了,因为在表中已经是自增了不应该使用nextval取值
<insert id="insert" parameterType="com.zjzhd.entity.projectmanage.Project">
<selectKey keyProperty="id" resultType="Long">
select project_seq.nextval from dual
</selectKey>
......
</insert>
解决:
应该使用currval
<insert id="insert" parameterType="com.zjzhd.entity.projectmanage.Project">
<selectKey keyProperty="id" resultType="Long">
select project_seq.currval from dual
</selectKey>
......
</insert>