`
huntersp
  • 浏览: 40815 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate映射视图的两种方式

    博客分类:
  • JAVA
阅读更多
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表示当表的数据发生变化的时候,视图的数据也会发生变化。
分享到:
评论
1 楼 zgz888 2009-10-16  
请问一下楼主,第二种subselect里面如何加参数。

相关推荐

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

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

    hibernate关联映射实例

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

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

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

    hibernate正向工程和逆向工程

    这种方式更加符合Java程序员的面向对象编程思想,也是在项目设计阶段较为常见的一种方式。 **步骤详解:** 1. **创建Java POJO对象:** - 手动创建Java实体类(User),并为其添加Hibernate注解,例如`@Entity`等,...

    jsf和hibernate资料

    XDoclet曾是用于自动生成Hibernate映射文件和Java类的工具,但在现代开发中,更多地使用注解驱动的方式,减少了对XDoclet的依赖。 以上是JSF和Hibernate的基本介绍,以及它们在Web开发中的角色。通过深入学习这两个...

    hibernate_one_to_one映射简单入门例子

    **二、一对一映射的两种类型** 1. **主键关联(Primary Key Join)**:两个实体共享同一个主键,这通常意味着它们是同一个表的不同视图或者表的一部分。 2. **外键关联(Foreign Key Join)**:一个实体的主键作为...

    SSH框架中构建hibernate必须的包

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

    整合Hibernate+JSF

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

    Hibernate之struts2整合hibernate以及MVC分层架构的使用案例hibernate002

    在IT行业中,尤其是在Web开发领域,使用框架进行项目构建能够极大地提高开发效率和代码质量。本案例主要关注的是...通过实践这个案例,开发者可以提升自己的Java Web开发技能,并对这两种框架的整合有更深入的理解。

    Struts2+Hibernate4+Spring3整合(注解和XML方式都有)

    在"Struts2+Hibernate4+Spring3整合"中,通常有两种方式实现整合: 1. **XML方式**:这是传统的配置方式,所有的配置信息都在XML文件中。Struts2的配置文件(struts.xml)定义Action和结果,Hibernate的配置文件...

    springmvc整合hibernate4

    SpringMVC 和 Hibernate4 是两种在 Java Web 开发中广泛使用的框架。SpringMVC 用于构建应用程序的控制层,提供模型-视图-控制器(MVC)架构,而 Hibernate4 则是对象关系映射(ORM)框架,帮助开发者简化数据库操作...

    struts+hibernate 项目

    这个“Struts+Hibernate项目”旨在为开发者提供一个学习和实践的平台,帮助他们快速理解这两种框架的集成使用,并应用于实际项目开发。 Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于...

    SpringMVC+hibernate框架整合

    Criteria API提供了一种面向对象的方式来查询数据库,比SQL更易读、更灵活。 **整合SpringMVC和Hibernate** 整合SpringMVC和Hibernate,主要是为了让SpringMVC能够调用Hibernate提供的服务进行数据操作。通常步骤...

    struts1和Hibernate实例

    Struts1和Hibernate是两种非常重要的Java开发框架,它们在企业级应用开发中扮演着核心角色。Struts1主要用于控制应用程序的流程,而Hibernate则是一个强大的对象关系映射(ORM)框架,它简化了数据库操作。 **...

    struts+hibernate做的商城

    Struts和Hibernate是两种在Java Web开发中广泛使用的开源框架,它们共同构成了许多企业级应用的基础。本项目是一个基于Struts和Hibernate实现的在线商城系统,具有完整的功能和良好的架构设计。 Struts是一个用于...

    简单Struts+Hibernate实例

    Struts和Hibernate是Java开发中两个非常重要的框架,它们在构建企业级Web应用程序时起着核心作用。Struts是MVC(模型-视图-...通过实际操作,你可以更好地掌握这两种框架的使用技巧,为后续的J2EE开发打下坚实的基础。

    Struts+Hibernate实现MVC

    Hibernate则是一个对象关系映射(ORM)框架,它允许开发者用面向对象的方式来操作数据库,而无需直接编写SQL语句。Hibernate通过配置文件和注解来定义Java对象(POJOs)与数据库表之间的映射关系,提供了透明的数据...

    hibernate插件

    Hibernate支持HQL(Hibernate Query Language)和Criteria API两种查询方式,它们都是面向对象的,更加易读且可避免SQL注入问题。 7. **性能优化:** - 第二级缓存:通过插件配置,可以启用和配置Hibernate的第二...

Global site tag (gtag.js) - Google Analytics