使用SqlServer数据源时Model保存时报错

各位大佬,萌新问下 使用Model保存时会给自增主键 id 写值,就会报错,怎么避免给主键写值呢?

数据源为Sqlserver,使用MySql时也会给主键写值,但MySql写入主键为NULL时可以正常insert

//DruidPlugin连接sqlserver
DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("sql_jdbcUrl"), PropKit.get("sql_user"), PropKit.get("sql_password"));
druidPlugin.setDriverClass("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ActiveRecordPlugin sql_arp = new ActiveRecordPlugin("Sql",druidPlugin);
sql_arp.setShowSql(true);
sql_arp.setDialect(new SqlServerDialect());
sql_arp.addMapping("testuser", User.class);
plugins.add(druidPlugin);
plugins.add(sql_arp);




public void submit(){
    User User=getModel(User.class,"user");
    System.out.println("name="+User.getName());
    System.out.println("ID="+User.getId());
    User.use("Sql").save();
    redirect("/user");//重定向
}
报错信息:
Sql: insert into testuser(sex, name, remark, id, age) values(?, ?, ?, ?, ?)
26-Nov-2018 16:57:20.604 严重 [http-nio-80-exec-10] com.jfinal.core.ActionHandler.error /user/submit
 com.jfinal.plugin.activerecord.ActiveRecordException:
 com.microsoft.sqlserver.jdbc.SQLServerException: 当 IDENTITY_INSERT 设置为 
OFF 时,不能为表 'testuser' 中的标识列插入显式值。



评论区

zlsj80

2018-11-26 17:38

http://www.jfinal.com/feedback/3461

BlossomWave

2018-11-26 17:41

@zlsj80 感谢可以了

热门反馈

扫码入社