我有两个对象:休眠 - 适用锁父表中多态查询
public class ParentObject {
// some basic bean info
}
public class ChildObject extends ParentObject {
// more bean info
}
各表对应一个目前存在的表在数据库中。我使用Hibernate来查询ChildObject,它将依次填充父对象的值。
我定义我的映射文件像这样:
<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>
我可以使用Hibernate来查询两个表没有问题。
我用
session.createQuery("from ChildObject as child ");
这是所有基本休眠的东西。但是,我遇到的问题是我需要将锁应用于查询中的所有表。
我可以通过使用query.setLockType(“child”,LockMode。?)来设置子对象的锁定类型。但是,我似乎无法找到一种方法来锁定父表。
我是Hibernate的新手,现在还在为一些心理障碍工作。问题是:如何在父表上放置一个锁?
我想知道是否有办法解决这个问题,而无需撤消我设置的多态结构。
我已经更新了我的答案 - 请大家看看。不过,我从来没有处理过Teradata,而且我对悲观锁定的经验有所限制,所以请提出一些建议。 – ChssPly76 2009-11-24 07:36:03