hibernate 已经查询到了对象列表,想remove掉某个对象,但是remove不掉?
employeeTypeLists=employeeTypeFacade.findAll();employeeType=employeeTypeFacade.findBy...
employeeTypeLists= employeeTypeFacade.findAll() ;
employeeType= employeeTypeFacade.findById(employee.getEmployeeType().getId()) ;
employeeTypeLists.remove(employeeType) ; 1式
为什么1式不起作用呢 ?
我把employee.getEmployeeType().getId()这句话打印输出,正是我想移除的对象id,并且
findAll()函数内部这样写的:(抛异常语句就先不在此列出了)
String queryString = "from EmployeeType order by id";
Query queryObject = HibernateUtil.openSession().createQuery(queryString);
return queryObject.list();
查询结果是正常的,
findById()函数内部这样写的:
Session s = HibernateUtil.openSession() ;
EmployeeType instance = (EmployeeType) s.get(EmployeeType.class, id);
returninstance;查询结果也是正常的,id也正确,(findall()查询的对象列表也包括这个)
但为什么就是移除不掉??求高手解惑!! 展开
employeeType= employeeTypeFacade.findById(employee.getEmployeeType().getId()) ;
employeeTypeLists.remove(employeeType) ; 1式
为什么1式不起作用呢 ?
我把employee.getEmployeeType().getId()这句话打印输出,正是我想移除的对象id,并且
findAll()函数内部这样写的:(抛异常语句就先不在此列出了)
String queryString = "from EmployeeType order by id";
Query queryObject = HibernateUtil.openSession().createQuery(queryString);
return queryObject.list();
查询结果是正常的,
findById()函数内部这样写的:
Session s = HibernateUtil.openSession() ;
EmployeeType instance = (EmployeeType) s.get(EmployeeType.class, id);
returninstance;查询结果也是正常的,id也正确,(findall()查询的对象列表也包括这个)
但为什么就是移除不掉??求高手解惑!! 展开
1个回答
展开全部
你这是2个对象,employeeTypeLists中的相当于你employeeType的那个对象,和employeeType不是一个对象,地址不一样,肃和羡然hibernate支持对象查询等操作,但是你弄混了,hibernate是用对坦瞎象做数据库操作,你在list里删除元让棚空素这不是对数据库操作,你可以用循环,
for(int i=0;i<employeeTypeLists.length();i++){
if(employeeTypeLists.get(i).getId==你要删的id){
employeeTypeLists.remove(i);
}
}
用增强for如循环更好写,我不知道你的对象类型就用原for循环谢了
for(int i=0;i<employeeTypeLists.length();i++){
if(employeeTypeLists.get(i).getId==你要删的id){
employeeTypeLists.remove(i);
}
}
用增强for如循环更好写,我不知道你的对象类型就用原for循环谢了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询