我有两个对象:
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>
我可以使用休眠来毫无问题地查询这两个表。
我用
session.createQuery("from ChildObject as child ");
这是所有基本的休眠内容。但是,我遇到的问题是我需要对查询中的所有表应用锁。
我可以使用 query.setLockType("child", LockMode.?) 设置子对象的锁定类型。但是,我似乎找不到在父表上加锁的方法。
我是 Hibernate 的新手,并且仍在解决一些心理障碍。问题是:如何在父表上加锁?
我想知道是否有办法在不撤消我设置的多态结构的情况下做到这一点。