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()查询的对象列表也包括这个)

但为什么就是移除不掉??求高手解惑!!
展开
 我来答
RookiePHP
2013-11-01 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:104万
展开全部
你这是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循环谢了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式