-->
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.  [ 2 posts ] 
Author Message
 Post subject: Zuweisen einer Tabelle zu mehr als einer Klasse
PostPosted: Mon Nov 26, 2007 10:19 am 
Newbie

Joined: Mon Nov 26, 2007 8:13 am
Posts: 1
Hallo zusammen,

Aus performancegründen will ich einer Tabelle zwei Klassen zuweisen. Die eine (Document) soll mit allen möglichen Daten gefüllt werden, die häufig geändert werden, die andere (DocumentBigData) soll vor dem Speichern des Dokuments mit großen, generierten Datenmengen gefüllt und extra gespeichert werden.
Rein technisch geht das soweit in Ordnung, wird kompilliert und läuft. Ich frage mich nur, ob eine solche "Beziehung" schonmal verwendet wurde, Hibernate auf eine solche Art überhaupt verwendet werden sollte und dabei nicht vielleicht Probleme beim Speichern der einen oder der anderen Klasse auftreten könnten.

Tatsächlich ist es nämlich so, dass, unter Verwendung dieses Mapping, Probleme in einer Anwendung auftauchen.
Zuerst soll ein Objekt der Klasse DocumentBigData upgedated werden, gleich darauf soll dann auch ein Objekt der Klasse Document upgedated werden.
Selten (aber nicht immer!) kommt es dann vor, dass, nachdem der erste Update wie immer gelang, der zweite mit folgender Meldung fehlschlägt:

org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [Document#70625]



Randdaten:

Hibernate version:
3.1.rc2

Mapping:
Code:
<class name="Document" table="document">
      <id name="ID" column="id" type="java.lang.Integer">
         <generator class="native"/>
      </id>
      
      <version name="Version" type="java.lang.Integer"/>
      
      <property name="Type"  type="java.lang.Integer"/>
   </class>

   <class name="DocumentBigData" table="document">
      <id name="ID" column="id" type="java.lang.Integer">
         <generator class="native"/>
      </id>
      
      <property name="field1" type="binary"/>
      <property name="field2" type="binary"/>
   </class>
</hibernate-mapping>


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 23, 2007 5:48 am 
Beginner
Beginner

Joined: Tue Oct 26, 2004 8:14 am
Posts: 20
Location: Mainz, Germany
Hi,

eigentlich sollte sich das Problem doch beheben lassen, wenn Du nach dem DocumentBigData update, erst flush aufrufst und dann das Objekt aus dem Hibernate Cache entfernst. Danach sollte der Update mit dem Document Objekt klappen.

Gruss,

Matthias


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 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.