-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: [Gelöst] -- Wechsel der Datenbank -- Import/Export?
PostPosted: Tue Jul 07, 2009 11:30 am 
Regular
Regular

Joined: Thu Apr 14, 2005 10:39 am
Posts: 115
Hallo,

ich möchte via Client-Applikation Daten aus einer Datenbank laden und in eine andere (identische) speichern.

Dazu frage ich via Dialog die neuen Verbindungsdaten an und setze sie:
Code:
HIBERNATE_PROPERTIES.setProperty(org.hibernate.cfg.Environment.URL, dbUrl.getText());
       HIBERNATE_PROPERTIES.setProperty(org.hibernate.cfg.Environment.USER, userNameTF.getText());
       HIBERNATE_PROPERTIES.setProperty(org.hibernate.cfg.Environment.PASS, String
          .valueOf(userPasswordPF.getPassword()));


Danach schließe ich die alte SessionFactory und öffne eine neue mit den geänderten Daten.

Beim Versuch die Daten zu speichern, bekomme ich dann folgende Fehlermeldung:
Quote:
ERROR AbstractFlushingEventListener:301 - Could not synchronize database state with session


An den Mappings und so kann es nicht liegen, da es mit einer Datenbank wunderbar funktioniert.

Vielen Dank.

Viele Grüße Michael


Last edited by Urmech on Fri Jul 10, 2009 5:02 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Wechsel der Datenbank -- Import/Export?
PostPosted: Thu Jul 09, 2009 9:10 am 
Regular
Regular

Joined: Thu Apr 14, 2005 10:39 am
Posts: 115
Quote:
Detail: Key (unternehmensmodell_id)=(8315) is not present in table "unternehmensmodell".
14:02:49,140 ERROR AbstractFlushingEventListener:301 - Could not synchronize database state with session


Aber das kann ja auch nicht sein, ist ja einen neue Datenbank. Daher musste ich das Land vorher mit meiner tiefen Kopie-Infrastruktur kopieren, dabei werden ID und Versions-Attribute nicht angerührt und entsprechen denen neuer Objekte) kopieren und dann speichern.

Kriege nun noch eine :
Quote:
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: de.xxx.yyy.tax.SteuerObjekt


Aber die bekomme ich zurzeit auch, wenn ich eine Kopie des Landes (mit noch nicht vorhandener ID) in der selben DB speichern will und hat daher wohl mit dem obigen Problem nichts zu tun.

Verstehe zur Zeit die execption aber trotzdem nicht, da ohne Kopie alles wunderbar funktioniert.

Viele Grüße Michael


Last edited by Urmech on Fri Jul 10, 2009 5:07 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Wechsel der Datenbank -- Import/Export?
PostPosted: Fri Jul 10, 2009 5:01 am 
Regular
Regular

Joined: Thu Apr 14, 2005 10:39 am
Posts: 115
Hallo, auch das zweite Problem hat sich gelöst.

Anscheinend wurde die Kopie in einer anderen Reihenfolge gespeichert und da griff dann mein CascadeType.ALL bei einer Liste von SteuerObjekten in einer anderen Klasse anscheinend nicht, bei dieser Beziehung hatte ich vorher nur CascadeType.PERSIST, was anscheinend nicht ausreicht.

Mit dieser Variante klappt es nun:
Quote:
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
@Cascade(value = org.hibernate.annotations.CascadeType.SAVE_UPDATE)


evtl. etwas Overkill, aber wenn es hilft....

Viele Grüße Michael


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.