各位大佬,萌新问下 使用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' 中的标识列插入显式值。
项目:JFinal