2 liangzi321321 liangzi321321 于 2017.09.09 16:57 提问

关于SpringMVC+hibernate设置主键自增问题

用myeclipse实现的反向生成实体类,然后想用注解序列的形式实现id自增,可是每次插入数据库的id都会以50增长,问题是我的序列是设置的按1增长,而且每次插入以后序列的下一个还是原来的数,说明序列没用到吧,我是用 @SequenceGenerator(name="SEQ_GEN", sequenceName="YIXING_USER$SEQ")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_GEN")的方式来注解的,有没有人遇到过同样的问题

2个回答

weixin_38824535
weixin_38824535   2017.09.09 19:35

你需要增加name属性还有,序列自增的两个属性.代码:

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="xx")
//sequenceName:将来在数据中创建序列名称  initialValue:从几开始  allocationSize:每次增长几个
@SequenceGenerator(name="xx",sequenceName="seq_courier",initialValue=1,allocationSize=1)
@Column(name = "C_ID")
private Integer id; // 主键       
----------------------------------------------------------

注意name的值需要和上面generator的值相同.
希望能帮到你

weixin_40172514
weixin_40172514   2017.09.09 20:13

@Entity
@Table(name = "TBL_BFMGM_ADMIN_USER_BIND")
public class AdminUserBind {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;

。。。。。
}
数据库设计表
CREATE TABLE
TBL_BFMGM_ADMIN_USER_BIND
(
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(32),
    value VARCHAR(256),
    PRIMARY KEY (id)
)
ENGINE=InnoDB DEFAULT CHARSET=gbk;

参考上面的设置试试
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql实现char类型主键自增长
mysql用触发器实现char类型主键自增长
ORACLE自增主键设置方法
ORACLE自增主键设置方法ORACLE自增主键设置方法
oracle中设置自增主键(id)
oracle中设置自增主键(id)oracle中设置自增主键(id)oracle中设置自增主键(id)
oracle中设置自增主键参考
oracle中设置自增主键的方法介绍,用来设置自增
ID自增JAVA类方法
ID自增的java类方法,不用数据库主键自增的可以考虑试试这个,自己定义方式
jdbc 插入记录并返回自增主键值
java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值
Oracle数据库创建表tuser设置主键自动增长
Oracle数据库创建表tuser设置主键自动增长,先创建表,然后创建基于该表的队列。
Js文件里创建自动增长主键
比较有用的UUID,工具类,Js文件创建主键
JPA主键策略(针对数据库自增字段重置后无效检查项)
JPA主键策略(针对数据库自增字段重置后无效检查项) JPA主键生成策略会影响数据库自增字段的重置
解决spring自增型主键问题
解决sqlserver2008自增型主键问题