`

转:hibernate映射视图的两种方式

阅读更多

本文转自:http://blog.csdn.net/id19870510/article/details/5453965

 

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"/>
	</composite-id>
</class>

 

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表示当表的数据发生变化的时候,视图的数据也会发生变化。
分享到:
评论

相关推荐

    J2EE企业级项目开发-1期 06 hibernate映射视图的使用经验.doc

    总结起来,在J2EE项目开发中,使用Hibernate映射视图是一种解决复杂查询和跨表统计的有效策略。当原生SQL不适用时,创建视图并进行相应的ORM配置可以保持代码的整洁性和可维护性。需要注意的是,视图的映射可能会...

    hibernate关联映射实例

    在Java企业级开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作...在实践中,不断探索和理解这些关联映射方式,能够使开发者更加熟练地驾驭Hibernate,提升软件开发的质量和效率。

    hibernate 主键一对一映射(单向) 实例(java类)

    在Java的持久化框架Hibernate中,一对一(One-to-One)映射是一种常见的关系映射方式,它用于表示两个实体之间一对一的关联关系。在这种关系中,一个实体对应另一个实体的唯一实例。本实例将深入探讨如何在Hibernate...

    SSH框架中构建hibernate必须的包

    8. **Query和Criteria API**:Hibernate提供了两种查询方式:HQL(Hibernate Query Language)和Criteria API。HQL是面向对象的查询语言,类似于SQL,而Criteria API则是基于Java对象的查询方式,更加面向API。 9. ...

    spring和hibernate源文件

    Spring 和 Hibernate 是两个在 Java 开发领域非常重要的框架,它们分别专注于不同的方面:Spring 主要是为了解耦合和提供依赖注入,而 Hibernate 则是用于对象关系映射(ORM),简化数据库操作。这两个框架的源代码...

    springMVC+Hibernate框架下载的web代码实例

    1. 对象关系映射:Hibernate提供了一种方式,让开发者可以使用面向对象的编程方式来处理数据库操作,无需编写大量的SQL语句。 2. 数据库无关性:Hibernate支持多种数据库,只需配置相应的数据库方言,就能在不同...

    Struts、Hibernate入门代码

    Struts和Hibernate是Java开发中两个非常重要的框架,它们分别用于处理MVC(Model-View-Controller)架构的Web应用和对象关系映射(ORM)。本教程将带你深入理解这两个框架的基本概念,并通过一个名为SHDemo的入门...

    应用SpringMVC与Hibernate进行WEB开发

    下面将详细阐述这两种技术的关键知识点及其在Web开发中的应用。 ### SpringMVC框架 SpringMVC是Spring框架的一个模块,专注于构建Web应用程序,提供了一个清晰的MVC(Model-View-Controller)架构,帮助开发者构建...

    spring mvc+hibernate

    Spring MVC 是 Spring 框架的一部分,专门用于构建 Web 应用的模型-视图-控制器(MVC)架构,而 Hibernate 是一个对象关系映射(ORM)工具,简化了数据库与 Java 对象之间的交互。 **Spring MVC 知识点:** 1. **...

    struts2.1+hibernate

    Struts2是MVC(Model-View-Controller)设计模式的一种实现,用于处理用户请求和控制业务逻辑,而Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以使用面向对象的方式来处理数据。...

    spring+hibernate 框架实例

    1. **对象关系映射(ORM)**:Hibernate 提供了一种方式,将 Java 对象映射到数据库表,使得数据库操作可以像操作对象一样简单。 2. **Session API**:Hibernate 的 Session 接口是数据库会话的抽象,它负责对象的...

    struts-hibernate

    - **Criteria查询**和**HQL**:Hibernate提供了两种灵活的查询方式,Criteria API提供动态构建查询的API,HQL是面向对象的查询语言,类似于SQL但更加面向对象。 - **事务管理**:Hibernate支持自动和手动的事务...

    struts2+hibernate

    Struts2 和 Hibernate 是两种非常重要的 Java Web 开发框架,它们在构建动态、数据驱动的 Web 应用程序中发挥着关键作用。Struts2 是一个 MVC(模型-视图-控制器)架构的框架,而 Hibernate 是一个对象关系映射(ORM...

    Hibernate 学习资料

    6. **Criteria 查询**:除了HQL,Hibernate还提供了Criteria API,它是另一种动态构建查询的方式,无需预先定义查询字符串,更易于编写和维护。 7. **Criteria API的子查询**:Criteria API支持子查询,可以在查询...

    struts2+hibernate3实现的增删改查

    Struts2和Hibernate3是两种非常重要的Java Web开发框架,它们在企业级应用中被广泛使用。Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了丰富的功能来构建可维护、可扩展的Web应用程序。而Hibernate...

    struts+hibernate在线考试系统

    "Struts+Hibernate在线考试系统"是一个基于Java技术构建的Web应用程序,主要使用了Struts作为MVC(模型-视图-控制器)框架,而Hibernate则作为对象关系映射(ORM)工具,来实现学生和教师的角色功能。下面将详细阐述...

    spring-Hibernate.rar

    Spring 和 Hibernate 是两个在 Java 开发中非常重要的框架,它们分别专注于依赖注入和对象关系映射。Spring 提供了一个全面的编程和配置模型,而 Hibernate 则是 Java 中最流行的 ORM(对象关系映射)解决方案,它...

    maven+hibernate

    2. **Hibernate**: Hibernate 提供了一种在Java应用中处理数据库的简便方式。通过配置`hibernate.cfg.xml`文件,我们可以指定数据库连接参数,如URL、用户名、密码等。然后,通过定义Java实体类并使用注解或XML映射...

    整合Hibernate+JSF

    4. **Criteria和HQL查询**:除了传统的SQL查询,Hibernate提供了Criteria查询和HQL(Hibernate Query Language),这两种查询方式更加面向对象,便于代码的维护。 **二、JSF框架** 1. **UI组件**:JSF提供了一系列...

Global site tag (gtag.js) - Google Analytics