数据库中没有"id"字段时插入数据有异常

在执行下面这段代码时

new AssetCategory().set("assetNo",assetNo).set("assetDescription",assetDescription).save();

会出现异常,The attribute name does not exist: "id",数据会成功插入数据库,但程序没法继续往下跑了。我在table中加一个id int 字段后,

new AssetCategory().set("assetNo",assetNo).set("assetDescription",assetDescription).set("id",0).save();

这样就不会有异常。我用的SQL Server数据库。数据库中是必须要存在"id"这个字段吗?希望前辈能指点一下,谢谢了!

评论区

JFinal

2017-12-22 21:59

必须要有主键,但主键名可以是任意合法的标识符,例如主键名可以是 asset_id

如果主键名不是 "id" 时,需要在映射时指定一下:
activeRecordPlugin.addMapping("asset_category", "other_id_name", AssetCategory.class);

建议直接使用 jfinal 的后成器来生成这些代码,生成器会自动反射得到 "other_id_name" 这种 meta 信息

生成器在首页可以下载 jfinal demo 这个项目中得到

yjh

2017-12-24 19:51

哦哦!谢谢前辈指点!!现在知道了

热门反馈

扫码入社