read-atleap-hibernate部分分析1-Layout

来源:互联网 发布:c语言的科学与艺术 编辑:程序博客网 时间:2024/05/17 05:26
read-atleap-hibernate部分分析1-Layout


Ø Layout

ª layout通过外键继承与localizable,由于设置了非延迟加载,检索layout时,Hibernate会通过外键关联(内连接)同时检索出子表(layout)和父表(localizable

 

©查找Layout对象

 Layoutlayout = 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_.cpDefinitionas cpDefini3_12_, layout0_.name as name12_,layout0

__1_.versionas version0_, layout0__1_.class_name asclass_name0_ from layout la

yout0_ inner joinlocalizable 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 |

+----------------+-------------+--------------------+-------------+

 

©layoutlocalizable.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"

        />


原创粉丝点击