Ø Layout
ª layout通过外键继承与localizable,由于设置了非延迟加载,检索layout时,Hibernate会通过外键关联(内连接)同时检索出子表(layout)和父表(localizable)
©查找Layout对象
Layout layout = layoutManager.findLayoutByDefinition(tmpDefinition);
return (Layout) findUniqueResult("from Layout l where l.definition = ?", new
Object[]{definitionName});
© HQL语句
Hibernate: select layout0_.localizable_id as id, layout0_.definition as definiti
on12_, layout0_.cpDefinition as cpDefini3_12_, layout0_.name as name12_, layout0
__1_.version as version0_, layout0__1_.class_name as class_name0_ from layout la
yout0_ inner join localizable layout0__1_ on layout0_.localizable_id=layout0__1_
.id where (layout0_.definition=? )
©layout表结构
mysql> select * from layout;
mysql> desc layout;
+----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| localizable_id | bigint(20) | | PRI | 0 | |
| definition | varchar(255) | | UNI | | |
| cpDefinition | varchar(255) | YES | | NULL | |
| name | varchar(255) | | UNI | | |
+----------------+--------------+------+-----+---------+-------+
mysql> desc localizable;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| id | bigint(20) | | PRI | 0 | |
| version | bigint(20) | | | 0 | |
| class_name | varchar(255) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
© layout表内容
+----------------+-------------+--------------------+-------------+
| localizable_id | definition | cpDefinition | name |
+----------------+-------------+--------------------+-------------+
| 0 | .coreLayout | .coreLayoutContent | Core layout |
+----------------+-------------+--------------------+-------------+
© layout在localizable.hbm.xml中映射描述
<joined-subclass
name="com.blandware.atleap.model.core.Layout"
table="layout"
dynamic-update="false"
dynamic-insert="false"
lazy="false"
>
<key
column="localizable_id"
/>