2016-11-02 1 views
0

zu kaskadieren. Ich erstelle derzeit einige Fixtures für einige Tests, und ich war mit diesem Fehler konfrontiert. Haben Sie eine Idee, wie Sie es lösen können?Eine neue Entität wurde über die Beziehung *** gefunden, die nicht konfiguriert wurde, um persistente Operationen für Entität

Ich habe so viele Fixtures zu kopieren, es zu kopieren.

A new entity was found through the relationship '***' that was not configured to cascade persist operations for entity: 
***. To solve this issue: Either explicitly call EntityManager#persist() on  
this unknown entity or configure cascade persist this association in the 
mapping for example @OneToOne(..,cascade={"persist"}). If you cannot find 
out which entity causes the problem implement '***#__toString()' to get a clue. 

Antwort

0

Der Fehler bedeutet, dass in einem aktuellen Objekt eine verknüpfte Entität vorhanden ist, die noch nicht in der Datenbank gespeichert wurde. Sie müssen entweder sicherstellen, dass Ihre Beziehung auf persistente Aufrufe kaskadiert ist (was bedeutet, dass dies automatisch gespeichert wird) oder Sie müssen die nicht gespeicherte Entität beibehalten, bevor Sie die aktuelle Entität speichern.

+0

Ich möchte diese Kaskadenfunktion nicht implementieren. Und diese Entity ist ein Fixtures bereits in DB gespeichert ... so ist es schon persistiert ... – LondonUnderground

+2

Paul hat Recht, dieser Fehler tritt bei Entitäten auf, die dem Entitymanager unbekannt sind. Wenn Sie sagen, dass die Objekte bereits in der Datenbank gespeichert sind, haben sie sich irgendwie voneinander gelöst. Vielleicht speichern Sie sie in der Sitzung und rufen sie in einem späteren Anruf ab? –

+0

@EmanuelOster Das ist genau richtig in meinem Fall mit Sitzung. Wie könnte man diesen falschen Fehler loswerden? – Trix

Verwandte Themen