Pessoal, meu problema é o seguinte.
No momento de atualizar as entidades no banco, lança uma exceção de violação de constraint de unicidade.
Segue abaixo as classes de modelo.
@Entity
@Table(name = "tb_task")
public class Task {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @ManyToOne
    private User teacher;
    @ManyToOne
    private Clazz clazz;
    @Column(nullable = false, length = 300)
    private String reference;
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(pattern = "dd-MM-yyyy HH:mm")
    @Column(name = "ending_date", nullable = false)
    private Calendar endingDate;
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(pattern = "dd-MM-yyyy HH:mm")
    @Column(name = "creation_date", nullable = false)
    private Calendar creationDate = Calendar.getInstance();
    @OneToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "tb_task_has_questions", joinColumns = {
            @JoinColumn(name = "task_id", referencedColumnName = "id", unique = false) }, inverseJoinColumns = {
                    @JoinColumn(name = "question_id", referencedColumnName = "id", unique = false) })
    private List<Question> questions;
    
    // getters and setters
   // hashCode and equals
    
}
@Entity
@Table(name = "tb_question")
public class Question {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Column(nullable = false, length = 300)
    private String description;
    @OneToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "tb_question_has_options", joinColumns = {
            @JoinColumn(name = "question_id") }, inverseJoinColumns = { @JoinColumn(name = "option_id") })
    private List<Option> options;
    // getters and setters
   // hashCode and equals
}
@Entity
@Table(name = "tb_option")
public class Option {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Column(nullable = false, length = 20)
    private String description;
    @Column(nullable = false)
    private Boolean answer;
    // getters and setters
   // hashCode and equals
}