使用Users.dao.findById(..)或者Db.findById(..)会报错,是因为主键名必须是id才能用吗?
Users.dao.findById(name, "upass").set("upass", passwd_new).update();
报错:Unknown column 'id' in 'where clause'
---------------------------------------
Record user = Db.findById("users", "uname", name, "upass").set("upass", passwd_new);
Db.update("users", user);/Db.update(tableName, primaryKey, record);
报错: You can't update model without Primary Key.
-------------------
通过主键直接进行修改,怎么总是报错,这个是不是bug?
如果是 Model ,需要在 arp.addMapping(tableName, idName, modelClass) 时指定这个 idName,如果使用 jfinal 2.2 生成器,会自动生成映射,不需要处理
如果是 Db.find 的形式查询,需要在查询的时候临时提供 idName,例如:Db.findById(tableName, idName, idValue)