jfinal getModel 时转对象的问题,范型对象不能识别,被识别为Serializable类型

bug小王子 发布于 2015/01/20 10:24
阅读 345
收藏 0

@JFinal 你好,想跟你请教个问题:

public class Model<KEY, MODEL extends Model<KEY, MODEL>> implements Serializable{
    
	private static final long serialVersionUID = -6481881588302620382L;
	KEY id;

    public KEY getId() {
        return id;
    }

    public void setId(KEY id) {
        this.id = id;
    }
}



public class User extends Model<Long, User> {
	
	private static final long serialVersionUID = 140154550602863855L;
	private String account;
	private String userName; 
	private String pwd;
	private String realName;
	private String mobile;
	private String qq;
	private Long pid;
	private int level; 
	private int idCardType;
	private String idCardNo;
	private String regionId;
	private int userType; 
	private int status;
	private Date regTime; 
	private Date actTime;
	private Date closeTime;
	private Date updateTime; 
	private String regSource;
}



省略getter和setter

然后controller中用getModel取值的时候   getModel(user, "user")  , id的类型获取是Serializable类型,但是明明是Long啊,范型编译时期就可以确定的。 其他属性都能正常映射,就是范型id有问题

加载中
0
糊搞

Model<Long, User>这种写法是你发明的么?请说明一下你的想法。。。

另外,即使你发明的Model中,ID设定为Long,但JFinal没有进行数据转换,类型由各数据库驱动决定。。。

使用JFinal时请将Hibernate这类繁琐的模仿扔掉,回归JDBC。

0
JFinal
JFinal
   楼主的 Model 并非 jfinal 的 Model 了,自然就无法转换了
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部