Doctrine Cascade Opciones para OneToMany

Me está costando mucho entender el manual de Doctrineexplicació de operaciones en cascada y necesito a alguien que me ayude a comprender las opciones en términos de una simple relación ManyToOne.

En mi solicitud, tengo una tabla / entidad llamada Artículo que tiene un campo de clave externa que hace referencia al campo 'id' en una tabla / entidad llamada Tema.

Cuando creo un nuevo artículo, selecciono el tema en un menú desplegable. Esto inserta un número entero en el campo de clave externa 'topic_id' en la tabla Artículo.

Tengo la asociación $ topic configurada en la entidad Artículo como esta:

/**
 * @ManyToOne(targetEntity="Topic")
 * @JoinColumn(name="topic_id", referencedColumnName="id", nullable=false)
 */
private $topic;

La entidad del tema no tiene ninguna anotación recíproca con respecto a la entidad del artículo. A los temas no les importa a qué artículos se refieren y no debe sucederle nada a un tema cuando se elimina un artículo que hace referencia al tema.

Porque no estoy especificando la operación en cascada en la entidad Artículo, Doctrine arroja un error cuando trato de crear un nuevo Artículo: "Se encontró una nueva entidad a través de una relación que no estaba configurada para operaciones de persistencia en cascada. Persiste explícitamente la nueva entidad o configurar operaciones persistentes en cascada en la relación ".

Así que sé que debo elegir una operación en cascada para incluir en la entidad Artículo, pero ¿cómo sé qué operación elegir en esta situación?

Desde leer el manual de Doctrine, "separar" suena como la opción correcta. Pero investigando preguntas similares de otrosaqu yaqu me hace pensar que quiero usar "persistir" en su lugar.

¿Puede alguien ayudarme a entender qué significa "persistir", "eliminar", "fusionar" y "separar" en términos de una relación simple ManyToOne como la que he descrito?

Respuestas a la pregunta(2)

Su respuesta a la pregunta