-->
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: Table Lock
PostPosted: Thu Dec 06, 2007 5:38 pm 
Newbie

Joined: Wed Nov 07, 2007 3:58 pm
Posts: 15
Hallo zusammen,

nachdem im englischen Forum keiner auf meine Frage eingeht probiere ich es mal hier :)

Ich würde gerne wissen wie man mit Hibernate einen Table Lock erhält...

Es geht darum, dass ich sicherstellen muss, dass nur 1 Transaktion gleichzeitig auf eine bestimmte Tabell zugreift. Wie kann ich das mit Hibernate machen ?

Im speziellen nutze ich JPA, aber eine generell Lösung würde fürs erste auch schon langen.

Gruss, Tobias


Top
 Profile  
 
 Post subject: Re: Table Lock
PostPosted: Wed Dec 12, 2007 8:09 am 
Newbie

Joined: Wed Dec 12, 2007 4:28 am
Posts: 3
anstetts wrote:
Hallo zusammen,

nachdem im englischen Forum keiner auf meine Frage eingeht probiere ich es mal hier :)

Ich würde gerne wissen wie man mit Hibernate einen Table Lock erhält...

Es geht darum, dass ich sicherstellen muss, dass nur 1 Transaktion gleichzeitig auf eine bestimmte Tabell zugreift. Wie kann ich das mit Hibernate machen ?

Im speziellen nutze ich JPA, aber eine generell Lösung würde fürs erste auch schon langen.

Gruss, Tobias



Die JPA- Spezifikation ist an dieser Stelle wenig konkret. Die lock-Methode
muss nur lost-updates verhindern. Soweit ich es beurteilen kann ist die lock-Methode von JPA weitgehender Mumpitz. Man kann sich durch einen Typecast auf den Hibernate-Entitymanager die Hibernate-Session besorgen und dann vermutlich im Prinzip all die Dinge tun, die auch in Hibernate möglich waren. Natürlich verliert man damit die Austauschbarkeit des Entitymanagers, aber immer noch besser als native Queries die dann im Fall von Oracle z.B. dbms_lock aufrufen würden.

((EntityManagerImpl) em).getSession().lock(customer, LockMode.UPGRADE_NOWAIT);

LockMode.UPGRADE entspricht Cursor vor update in Oracle

MfG

Manfred Quasten


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.