EmployeeIndexSetMain 和PostIndexSetMain分别对应数据库中的两张表
在考虑将前端传来的EmployeeIndexSetMain实体保存到PostIndexSetMain中,我采用了PostIndexSetMain继承EmployeeIndexSetMain,成为其子类的方法。
单一开始向下转换之前发生了类转换异常的问题
employeeIndexSetDao.savePostIndexSet((PostIndexSetMain) checkSet.getList().get(0));
在java中,向下转型则是为了,通过父类强制转换为子类,从而来调用子类独有的方法(向下转型,在工程中很少用到).
为了保证向下转型的顺利完成,在java中提供了一个关键字:instanceof,通过instanceof可以判断某对象是否是某类的实例,如果是则返回true,否则为false,instanceof使用如下:
所以加了一层向下转型判断之后,就可以避免类型转换的问题
//按照岗位,设置考核方式
if (checkSet.getType() == 1) {
//岗位考核保存设置信息到t_post_index_set_main表中,方便编辑查询
EmployeeIndexSetMain indexSetMain = checkSet.getList().get(0);
if (indexSetMain instanceof PostIndexSetMain) {
PostIndexSetMain p = (PostIndexSetMain) indexSetMain;
employeeIndexSetDao.savePostIndexSet(p);
}