¿Cómo uso la opción de cascada en la doctrina de Symfony2?

Estoy tratando de entender elcascade opción enDoctrina enSymfony2.

Me gustaría poder eliminar una entidad secundaria (y no activar el error de restricción de clave externa).

Tengo 3 entidades:

Informe

/**
* @ORM\OneToMany(targetEntity="Response", mappedBy="report")
*/
protected $responses;

/**
* @ORM\OneToMany(targetEntity="Response", mappedBy="report")
*/
protected $sms;

Respuesta

/**
 * @ORM\ManyToOne(targetEntity="Report", inversedBy="responses")
 */
protected $report;

SMS

/**
 * @ORM\ManyToOne(targetEntity="Report")
 */
protected $report;

Ahora me gustaría borrar unResponse entidad pero me da

SQLSTATE [23000]: Infracción de la restricción de integridad: 1451 No se puede eliminar ni actualizar una fila principal:
una restricción de clave externa fallamybundle.sms, RESTRICCIONFK_B0A93A77BB333E0D CLAVE EXTERNA (reportId) REFERENCIASreport (id))

Donde uso elcascade opción y qué opción debo usar (detach oremove)?

Puedo hacer muchas pruebas y errores para resolver esto, pero esperaba una explicación experta, así que no me olvido de nada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta