在hibernate中从会话中删除一个对象

时间:2012-02-21 13:00:52

标签: java hibernate

如何从hibernate会话中删除对象?在我的代码中,我从数据库中获取一个列表,并搜索用户输入的数据是否已存在于数据库中。如果它在那里我覆盖它。另外我正在创建一个新对象并保存它。但jboss显示会话中有两个对象的错误。据我猜,一个对象是遍历列表的对象,另一个是为保存数据而新创建的对象。

for(Allocation al: allocatelist){
    if(al.getDate().compareTo(dt)==0){
          al.setAllocated(gpsz);
          getManager().save(al);
          flag=1;
          break;
    {
{

如果上述条件失败,则创建新对象并保存。那么我有什么方法可以删除这个对象" al"? 我没有尝试合并或更新方法" evict()"但它没有用。 else块

 Allocation allocate = new Allocation();
allocate = filldata(allocate, dataMap,i); 
   getManager().save(allocate);   
 filldata() fills the inputs into the object.`

1 个答案:

答案 0 :(得分:0)

如果Allocation对象由Hibernate管理,则不需要调用getManager().save(al),因为hibernate检测到对象已更改并且它将自动更新数据库。