ottengo il seguente errore quando si tenta di persistere un oggetto:JPA EclipseLink: come trovare quale rapporto sta causando errore
java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST
C'è un modo semplice per dire quale rapporto ha lo scopo problema?
È possibile che l'oggetto persistente contenga molte relazioni e un tentativo, un errore o una ricerca per eliminazione, ma vorrei sapere se esiste un modo più semplice e più rapido per identificare l'oggetto della relazione con il problema.
Update: ho incontrato questo problema periodicamente, e sono sempre stato in grado di trovare la fonte del problema, o sono stato capace di riordinare le operazioni al fine di risolvere il problema, ma il mio problema è la quantità di tempo che serve per trovare l'oggetto incriminato.
Le mie soluzioni sono sempre state trovate per tentativi ed errori. A volte trovo la soluzione in pochi minuti, ma a volte ci vogliono ore. La mia domanda è: c'è un modo più semplice per scoprire quale delle possibili relazioni causi il problema. L'eccezione afferma solo che un "nuovo oggetto" è stato trovato attraverso una "relazione", questo non mi aiuta a trovare quale oggetto o quale relazione. Esiste un registro o un modo per dire al sistema di fornire un errore più specifico?
Forse vuoi vedere http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg00553.html Se possibile, mostra il tuo codice. Non posso indovinare cosa sta succedendo se non fornisci maggiori informazioni. –
Arthur: Grazie e apprezzo la tua risposta, ma la mia domanda è più generale di quella. Ho aggiornato la mia domanda per darti un'idea migliore di ciò che sto cercando. – rayd09
Hai provato a configurare eclipselink.logging.level in persistence.xml - http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging ?? – rochb