Ø 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"
/>