两个实体:
--------------1---------------
@Entity
@Table(name="bbstask")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="Task_id")
private int taskId; //帖子ID

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name="Task_id")
private Set<Tender> tender =new HashSet<Tender>();//帖子的回复(一个帖子有很多回复)其余略
-------------2---------------------
@Entity
@Table(name="bbstender")
public class Tender {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="Tender_id")
private int tenderId;//回复id @ManyToOne
@JoinColumn(name="Task_id")
private Task task;//每个回复对应一个帖子的
----------dao---------
@Override
public boolean deleteTask(int taskId) {
    Task task = this.getHibernateTemplate().get(Task.class, taskId);//立即加载帖子
--------------异常----------------
 Servlet.service() for servlet springmvc threw exception
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)
    this.getHibernateTemplate().delete(task);//删除
     return true;
}

解决方案 »

  1.   

    ----------dao---------
     @Override
     public boolean deleteTask(int taskId) {
         Task task = this.getHibernateTemplate().get(Task.class, taskId);//立即加载帖子
          this.getHibernateTemplate().delete(task);//删除
          return true;
     } --------------异常----------------
      Servlet.service() for servlet springmvc threw exception
     org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)
      

  2.   

    最上面dao  和 异常 写乱了  看1楼 谢谢
      

  3.   

    不知道为什么不能级联删除,那如果删除task前先手动把task内的tenders都清除呢