Mise en veille prolongée - appliquer des verrous aux tables des parents dans les requêtes polymorphes

StackOverflow https://stackoverflow.com/questions/1787224

Question

J'ai deux objets:

public class ParentObject {
 // some basic bean info
}

public class ChildObject extends ParentObject {
 // more bean info
}

Chacune de ces tables correspond à une table differnet dans une base de données. J'utilise Hibernate pour interroger le ChildObject, qui à son tour remplir les valeurs des objets parent.

J'ai défini mon fichier de mappage comme ceci:

<hibernate-mapping>
<class name="ParentObject"
       table="PARENT_OBJECT">
   <id name="id"
       column="parent"id">
      <generator class="assigned"/>
   </id>
   <property name="beaninfo"/>
   <!-- more properties -->
   <joined-subclass name="ChildObject" table="CHILD_OBJECT">
       <key column="CHILD_ID"/>
       <!--properties again-->
   </joined-subclass>
</class>
</hibernate-mapping>

Je peux utiliser veille prolongée pour interroger les deux tables sans problème.

J'utilise

session.createQuery("from ChildObject as child ");

Ceci est tous les trucs de mise en veille prolongée de base. Cependant, la partie que j'ai des problèmes avec est que je dois appliquer des verrous aux toutes les tables de la requête.

Je peux définir le type de verrouillage pour l'objet enfant en utilisant le query.setLockType ( « enfant », LockMode.?). Cependant, je ne peux pas sembler trouver un moyen de placer un verrou sur la table parent.

Je suis nouveau à Hibernate, et je travaille toujours autour de quelques barrages routiers mentaux. La question est: comment puis-je placer un verrou sur la table parent?

Je me demandais s'il y avait une façon d'avoir autour de le faire sans défaire la structure polymorphes que j'ai mis en place.

Était-ce utile?

La solution

Pourquoi avez-vous de verrouiller les deux tableaux? Je demande parce que selon ce que vous essayez de faire il peut y avoir des solutions alternatives pour réaliser ce que vous voulez.

Les choses sont, Hibernate normalement

scroll top