hibernate映射视图的两种方式
来源:互联网 发布:好用bt下载软件 mac 编辑:程序博客网 时间:2024/04/29 07:40
本文出自 http://huntersxp.javaeye.com/blog/230719
hibernate映射视图的两种方式
1.数据库已经建立视图,hibernate只是把视图当作普通的表来映射。
视图VIEW_MER_INST_POS:
select MER.DAYS_MERCHT_ID MER_ID,
INST.DAYS_MERCHT_ID INST_ID,
POS.POS_ID POS_ID
from tbl_days_mercht_attr MER,
tbl_days_mercht_info INST,
tbl_days_mercht_pos_info POS
where MER.days_mercht_id = INST.up_days_mercht_id
and INST.days_mercht_id = POS.days_mercht_id
hbm.xml配置
<class
name="db.po.ViewMerInstPos"
table="VIEW_MER_INST_POS"
>
<composite-id>
<key-property
name="merId"
column="MER_ID"
type="java.lang.String"
length="8"
/>
<key-property
name="instId"
column="INST_ID"
type="java.lang.String"
length="8"
/>
<key-property
name="posId"
column="POS_ID"
type="java.lang.String"
length="8"
/>
</class>
</hibernate-mapping>
2.数据库没有视图,用hibernate自己做视图映射
hbm配置如下:
<hibernate-mapping package="huntersxp.db.pojo">
<class name="ViewMerInstPos">
<meta attribute="sync-DAO">false</meta>
<subselect>
select
MER.DAYS_MERCHT_ID MER_ID,INST.SHOP_NM SHOP_NM,POS.POS_ID POS_ID
from tbl_days_mercht_attr MER,
tbl_days_mercht_info INST,
tbl_days_mercht_pos_info POS
where MER.days_mercht_id = INST.up_days_mercht_id and INST.days_mercht_id = POS.days_mercht_id
</subselect>
<synchronize table="tbl_days_mercht_attr"/>
<synchronize table="tbl_days_mercht_info"/>
<synchronize table="tbl_days_mercht_pos_info"/>
<composite-id>
<key-property
name="merId"
column="MER_ID"
type="java.lang.String"
length="8"
/>
<key-property
name="shopNm"
column="SHOP_NM"
type="java.lang.String"
length="40"
/>
<key-property
name="posId"
column="POS_ID"
type="java.lang.String"
length="40"
/>
</composite-id>
</class>
</hibernate-mapping>
其中synchronize表示当表的数据发生变化的时候,视图的数据也会发生变化。
视图VIEW_MER_INST_POS:
select MER.DAYS_MERCHT_ID MER_ID,
INST.DAYS_MERCHT_ID INST_ID,
POS.POS_ID POS_ID
from tbl_days_mercht_attr MER,
tbl_days_mercht_info INST,
tbl_days_mercht_pos_info POS
where MER.days_mercht_id = INST.up_days_mercht_id
and INST.days_mercht_id = POS.days_mercht_id
hbm.xml配置
<class
name="db.po.ViewMerInstPos"
table="VIEW_MER_INST_POS"
>
<composite-id>
<key-property
name="merId"
column="MER_ID"
type="java.lang.String"
length="8"
/>
<key-property
name="instId"
column="INST_ID"
type="java.lang.String"
length="8"
/>
<key-property
name="posId"
column="POS_ID"
type="java.lang.String"
length="8"
/>
</class>
</hibernate-mapping>
2.数据库没有视图,用hibernate自己做视图映射
hbm配置如下:
<hibernate-mapping package="huntersxp.db.pojo">
<class name="ViewMerInstPos">
<meta attribute="sync-DAO">false</meta>
<subselect>
select
MER.DAYS_MERCHT_ID MER_ID,INST.SHOP_NM SHOP_NM,POS.POS_ID POS_ID
from tbl_days_mercht_attr MER,
tbl_days_mercht_info INST,
tbl_days_mercht_pos_info POS
where MER.days_mercht_id = INST.up_days_mercht_id and INST.days_mercht_id = POS.days_mercht_id
</subselect>
<synchronize table="tbl_days_mercht_attr"/>
<synchronize table="tbl_days_mercht_info"/>
<synchronize table="tbl_days_mercht_pos_info"/>
<composite-id>
<key-property
name="merId"
column="MER_ID"
type="java.lang.String"
length="8"
/>
<key-property
name="shopNm"
column="SHOP_NM"
type="java.lang.String"
length="40"
/>
<key-property
name="posId"
column="POS_ID"
type="java.lang.String"
length="40"
/>
</composite-id>
</class>
</hibernate-mapping>
其中synchronize表示当表的数据发生变化的时候,视图的数据也会发生变化。
- hibernate映射视图的两种方式
- hibernate 一对一映射的两种方式
- hibernate映射的两种方式
- hibernate映射详解:一对一映射的两种实现方式
- hibernate中映射文件的两种书写方式
- hibernate实体类与数据表映射的两种方式
- Hibernate之关系映射的两种方式(xml映射、annotation注解映射)
- Hibernate两种方式进行映射配置
- hibernate的两种映射
- hibernate的两种映射
- Hibernate映射集合属性的两种方式(非关联映射)--基础
- Hibernate关系映射之多对多映射的两种方式
- Hibernate继承映射的两种策略
- hibernate中视图的映射
- Hibernate对视图的映射
- 纹理映射的两种方式
- ibatis查询的两种映射方式
- mybatis 一对一的映射(两种方式)
- 内存拷贝函数strcpy()、memcpy()、memmove()、memset()的用法
- 去掉文本框的自动完成
- error reading tld listeners java.lang.nullpointerexception异常
- HTML 代码
- VC++下的Unicode编程
- hibernate映射视图的两种方式
- 多媒体文件类型与编码格式(转)
- 网页抓取与放屏蔽
- 2010.04.06 C++内存管理详解[转]
- PKU 1977 Odd Loving Bakers
- VC++实现Contourlet图像处理
- 购买600789(鲁能抗药)-2010-04-06
- hibernate视图映射
- 如何让系统加载自己写的驱动程序?