在用scala写的ibatis程序中使用case类作映射对象的时候,发现即使没有使用scala.reflect.BeanProperty注释来让编译器产生getter setter,在ibatis中查询的时数据库字段值也能映射到对象字段上去。
case class User(var id:Int,var userName:String){
def this()=this(-1,"aaa")
}
查阅ibatis源码发现,原来com.ibatis.common.beans.ClassInfo中,ibatis对不能访问的字段都使用了field.setAccessible(true)