-->
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: JPA: Entity Update nach ConstraintViolationException
PostPosted: Thu Oct 17, 2013 10:54 am 
Newbie

Joined: Thu Oct 17, 2013 10:40 am
Posts: 1
Hallo,

ich habe ein Entity mit einem uniqueConstraint definiert.
Diese Tabelle wird über einen Dialog gepflegt. Dabei habe ich aber nun folgende Frage:

Wenn der Benutzer die Daten so eingibt, das der uniqueConstraint auf einen Fehler läuft (oder evtl. auch ein anderer CheckConstraint), bekomme ich von Hibernate eine javax.persistence.RollbackException zurück. Dadurch wird die aktuelle Transaktion ja zurück gesetzt.

Ich mache eine neue Transaktion auf, das Entity befindet sich noch im EntityManager (sonst würde ich einen merge machen) ändere die Felder des unique constraint und versuche danach erneut ein persist und commit.

Komischerweise bekomme ich nun wieder die gleiche Exception zurück wie beim ersten Mal, es werden sogar die Felder des uniqueConstraints ausgegeben, allerdings mit den Werten vor meiner Änderung.

... was mache ich falsch? ...

Sollte ich das Entity vor dem Verändern der Daten detachen und danach mergen? Irgendwie scheint mir der Status des Entity auch nicht ganz korrekt zu sein, da eine @PreUpdate annotierte Methode durchlaufen wird.

Für eine Hilfestellung wäre ich dankbar.

Viele Grüße,
Susanne.


Top
 Profile  
 
 Post subject: Re: JPA: Entity Update nach ConstraintViolationException
PostPosted: Mon Oct 28, 2013 11:15 am 
Senior
Senior

Joined: Tue Oct 28, 2008 10:39 am
Posts: 196
Gehört zwar zu Hibernate 3.5, hat aber (mMn) auch für die Nachfolger seine Richtigkeit: http://docs.jboss.org/hibernate/core/3.5/javadocs/org/hibernate/Session.html

Eine Session (oder ein EntityManager) nach einer Exception nicht weiterverwenden.


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.