JFinal提示:java.lang.RuntimeException: dao 只允许调用查询方法

public class UserModel extends Model<UserModel>{
    public static final UserModel userDao = new UserModel().dao();
    
    public static boolean addUser(UserVo vo){
        boolean result = userDao.set("userid", vo.getUserid())
               .set("username", vo.getUsername())
               .set("userpwd", vo.getUserpwd())
               .set("orgid", vo.getOrgid()).save();
             
        return result;
    }
}

解决方法参考:http://www.jfinal.com/feedback/3350

由于以下代码

public static final UserModel userDao = new UserModel().dao();

调用的dao()方法,此时修改为:

public static final UserModel userDao = new UserModel();

问题解决。

官方文档中有具体的说明:http://www.jfinal.com/doc/5-3

特别注意:User中定义的 public static final User dao对象是全局共享的,只能用于数据库查询,不能用于数据承载对象。数据承载需要使用new User().set(…)来实现。

 

posted @ 2018-07-27 14:27  yshy  阅读(1161)  评论(0)    收藏  举报