Ich benutze Frühling 3.2.3 und Hibernate 4.2.3 und JDK 7.Objekt verweist auf eine nicht gespeicherte transiente Beispiel: wie spülen oder Rückkehr gespeichert Objekt
Ich habe eine einfache Einheit:
@Entity
public class Language {
@Id
@GeneratedValue
private long id;
@Column(nullable = false, length = 3, unique = true)
private String code;
}
I eine Instanz dieser Entität sparte @Service
kommentierte Klasse mit einer @Transactional
kommentierten Methode, die eine DAO verwendet, die das Unternehmen spart mit
sessionFactory.getCurrentSession().save(object);
Danach benutze ich d die gespeichertLanguage
Einheit für EntityX
zu schaffen, die es in einer ManyToOne
Beziehung verwendet ...
lang=new Language();
// ...
languageService.saveLanguage(lang);
e=new EntityX();
// ...
e.setLanguage(lang);
otherService.saveEntity(e);
und EntityX
ist definiert als ...
@Entity
public class EntityX {
@ManyToOne
@JoinColumn(nullable = false)
private Language language;
// ...
}
ich die Ausnahme immer bekommen
Ich versuche einige Cascade-Definitionen in EntityX
' s Beziehung zu Language
wie in anderen Posts vorgeschlagen, aber es hat keine Wirkung.
Wenn ich die gespeicherte Language
Entität neu lade, indem ich sie durch seine code
mit einigen HQL-Abfrage finden, dann funktioniert alles gut, aber das ist weit weg von "nett".
Leider gibt die save(...)
Methode (n) von org.hibernate.Session
das gespeicherte Objekt nicht zurück.
Hat jemand irgendwelche Ideen, wie man es löst?
Der Code ist in einer einzigen "@ Transactional" -Methode. Die Service-Methoden sind auch '@ Transactional', aber sie erfordern keine neue Transaktion, also nehme ich an, dass die existierende verwendet wird. Ich habe Sprache für sich selbst gespeichert, weil ich eine Spracheinheit und viele EntityX habe und jede von ihnen die gleiche Spracheinheit verwendet. – t777
überprüfen Sie meine Bearbeitung, zu lang für einen Kommentar. Ich hoffe klar zu sein, Englisch ist nicht meine Muttersprache, sorry –
Hallo @LucaBassoRicci, ich habe das gleiche Problem, aber meine Technologie ist anders, können Sie einen Blick darauf werfen .. http://StackOverflow.com/Questions/28279304/error-when-saving-a-object-welche-hat-fremde-key-object-references-an-unsaved –