`
jiaguwen123
  • 浏览: 406532 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate对视图的操作

阅读更多

Hibernate对视图进行操作时和对普通的表有些不同,下面就是一个Hibernate操作视图的例子:
视图:
SELECT a.SPID, a.SPKey, b.serviceID, b.serviceName, c.serviceItemID, c.itemName
FROM dbo.tbSPInfo a
INNER JOIN dbo.tbService b ON a.SPID = b.SPID LEFT OUTER JOIN
dbo.tbServiceItem c ON b.serviceID = c.serviceID

1.首先根据视图中的字段定义一个bean

package com.txsec.lc.is.bean;

import
 java.io.Serializable;

public class ServiceId implements Serializable 
{
    
private static final long serialVersionUID = -2298938310945830572L
;
    
private
 String spId;
    
private
 String spKey;
    
private
 String serviceId;
    
private
 String serviceName;
    
private
 String serviceItemId;
    
private
 String itemName;
    
public ServiceId() ...
{
        
super
();
    }

    
public String getItemName() ...{
        
return
 itemName;
    }

    
public void setItemName(String itemName) ...{
        
this.itemName =
 itemName;
    }

    
public String getServiceId() ...{
        
return
 serviceId;
    }

    
public void setServiceId(String serviceId) ...{
        
this.serviceId =
 serviceId;
    }

    
public String getServiceItemId() ...{
        
return
 serviceItemId;
    }

    
public void setServiceItemId(String serviceItemId) ...{
        
this.serviceItemId =
 serviceItemId;
    }

    
public String getServiceName() ...{
        
return
 serviceName;
    }

    
public void setServiceName(String serviceName) ...{
        
this.serviceName =
 serviceName;
    }

    
public String getSpId() ...{
        
return
 spId;
    }

    
public void setSpId(String spId) ...{
        
this.spId =
 spId;
    }

    
public String getSpKey() ...{
        
return
 spKey;
    }

    
public void setSpKey(String spKey) ...{
        
this.spKey =
 spKey;
    }

}

...


2.定义一个bean,用组合方式将ServiceId包含进去

package com.txsec.lc.is.bean;

import java.io.Serializable;

public class ServiceView implements Serializable {
    
private static final long serialVersionUID = -2909733442648785569L;
    
private ServiceId id;
    
public ServiceView() ...{
        
super();
    }

    
public ServiceId getId() ...{
        
return id;
    }

    
public void setId(ServiceId id) ...{
        
this.id = id;
    }

}

...


3.映射文件

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>

<hibernate-mapping>
 
<class name="com.txsec.lc.is.bean.ServiceView" table="vwSPService">
  
<composite-id name="id" class="com.txsec.lc.is.bean.ServiceId">
   
<key-property name="spId" type="string">
    
<column name="SPID"/>
   
</key-property>
   
<key-property name="spKey" type="string">
    
<column name="SPKey" />
   
</key-property>
   
<key-property name="serviceId" type="string">
    
<column name="serviceID" />
   
</key-property>
   
<key-property name="serviceName" type="string">
    
<column name="serviceName"/>
   
</key-property>
   
<key-property name="serviceItemId" type="string">
    
<column name="serviceItemID"/>
   
</key-property>
   
<key-property name="itemName" type="string">
    
<column name="itemName" />
   
</key-property>
  
</composite-id>
 
</class>
</hibernate-mapping>


ok,用HQL进行查询时,就可以这样:
session.createQuery("from ServiceView sv where sv.id.serviceId = '100001'").list();

查询返回的是ServiceView对象或集合,要得到视图中字段的值,只需要调用ServiceView对象的getId()方法即可获得ServiceId对象,通过ServiceId对象的getXXX()方法,就可以访问到视图中的字段了。

分享到:
评论

相关推荐

    hibernate 视图

    NULL 博文链接:https://lixianglin-2008-ok-163-com.iteye.com/blog/283210

    自动生成hibernate映射文件和实体类

    4. 在使用 MyEclipse 自动生成 Hibernate 映射文件和实体类时,需要创建数据库连接和相应的表,然后选择需要添加 Hibernate 映像文件的工程,最后进行反转工程操作。 使用 MyEclipse 自动生成 Hibernate 映射文件和...

    基于Maven,Struts2, Spring,Hibernate全注释的开发框架

    由于Generic DAO不能对复杂的HQL或视图,存贮过程进行操作,目前还有待完善,可以不用hibernate-generic-dao - Generic DAO, 用Spring3.2.0和Hibernate4替换,就是一个非常好的Struts2+Spring3+Hibernate4基于...

    springmvc4+hibernate4 jpa实现整合(含jar包)

    通过参考和引用传智播客的免费教程,将springmvc4.1.6与hibernate4.3.10提供的JPA实现整合,使用mysql5.6.25,在MyEclipse2014中测试通过。可以作为web开发的基础框架使用。 使用说明: 1.需要安装mysql,并创建名为...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.3 使用Hibernate操作数据库的示例 12.3.1 创建数据库表 12.3.2 编写表对应的JavaBean 12.3.3 编写JavaBean对应的Xml 12.3.4 编写Hibernate的配置文件 12.3.5 编写并验证测试程序 12.4 Hibernate的配置文件 12.4.1...

    其他类别Struts+Hibernate实现MVC-strutsmvc.rar

    Hibernate框架则负责处理数据持久化层的工作,它通过对象关系映射(ORM)技术将Java对象与数据库表进行映射,从而实现了对数据库的高效操作。Hibernate提供了一套丰富的API和查询语言(HQL),使得开发者可以方便地...

    车辆管理系统(struts+hibernate+spring+oracle).zip

    车辆管理系统(基于Struts+Hibernate+Spring+...在车辆管理系统中,Hibernate框架负责处理与Oracle数据库的交互操作,如车辆信息的增删改查等。通过Hibernate,系统能够高效地管理车辆数据,确保数据的准确性和一致性。

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.3 使用Hibernate操作数据库的示例 12.3.1 创建数据库表 12.3.2 编写表对应的JavaBean 12.3.3 编写JavaBean对应的Xml 12.3.4 编写Hibernate的配置文件 12.3.5 编写并验证测试程序 12.4 Hibernate的配置文件 12.4.1...

    会员管理系统(struts+hibernate+spring)130226.rar

    它通过Action类来处理用户的操作,如注册、登录、修改个人信息等,并将处理结果返回给相应的视图层。Hibernate框架则作为数据持久化层,负责与数据库进行交互。它通过对象关系映射(ORM)技术,将Java对象与数据库表...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.3 使用Hibernate操作数据库的示例 12.3.1 创建数据库表 12.3.2 编写表对应的JavaBean 12.3.3 编写JavaBean对应的Xml 12.3.4 编写Hibernate的配置文件 12.3.5 编写并验证测试程序 12.4 Hibernate的配置文件 12.4.1...

    图书管理系统(struts+hibernate+spring).rar

    Hibernate则是一种对象关系映射(ORM)工具,它可以让开发者用面向对象的方式来操作数据库,极大地简化了数据访问层的编码工作。而Spring框架则提供了一系列的企业级服务,如事务管理、依赖注入等,使得整个系统更加...

    网上书店(struts+hibernate+css+mysql).rar

    Hibernate框架则负责处理数据持久化,将对象与数据库表进行映射,简化了数据库操作。CSS用于美化网页界面,提高用户体验。MySQL作为一款开源的关系型数据库,为系统提供了稳定、高效的数据存储服务。该网站主要功能...

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223.rar

    Hibernate作为ORM框架,负责将对象与数据库表进行映射,简化了数据库操作。其次,该系统使用Jsp作为前端展示层,提供了丰富的用户界面和交互功能。用户可以通过浏览器访问系统,进行项目申报、查询、修改等操作。...

    源码基于JSP的博客系统(struts+hibernate+spring).rar

    它包含用于构建一个功能齐全的博客系统的源代码和资源文件,结合了Java Server Pages (JSP)、Apache Struts框架、Hibernate持久化框架以及Spring框架的强大功能,以支持高效的数据库操作和灵活的业务逻辑处理。...

    网上书店(struts+hibernate+css+mysql)130223.rar

    通过这个项目,你可以学习到如何使用Struts框架进行MVC(模型-视图-控制器)模式的开发,以及如何使用Hibernate技术实现对象关系映射(ORM),从而简化数据库操作。此外,这个项目还使用了CSS样式表来美化网页界面,...

    基于Struts和Hibernate技术的企业管理信息系统研究与开发

    对象的思想来操作关系型数据库的各类数据,同时 Hibernate 还提供了灵活的事 务处理和查询机制。通过以上两个框架的整合应用,可以形成一个灵活、松耦 合和易于扩展维护的信息系统的完整解决方案。 本论文以江苏省...

    工作流督-办管理

    hibernate,视图层采用struts,用spring维护三者关系! Jbpm简介:是个复杂的可扩展的工作流管理系统. Jbpm 有直观的流程语言来表示商业流程图的术语比如,任务,异步通讯的等待状态,定时器,自动操作等等.把这些操作绑在...

    图书管理系统(struts+hibernate+spring+ext)130221.rar

    同时,该系统还结合了Hibernate框架,这是一个开源的对象关系映射(ORM)框架,它简化了数据库操作,允许开发者使用面向对象的方式来处理数据库,而无需关注底层SQL语句的细节。Spring框架的引入则是为了依赖注入和...

    Struts2,Spring,Hibernate

    MVC是三个单词的缩写,分别为: 模型(Model),视图(View)...Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar

    Hibernate3.0作为ORM框架,负责处理对象与数据库之间的映射关系,简化了数据库操作,提高了开发效率。Spring2作为IoC容器,负责管理对象的生命周期和依赖关系,降低了系统各模块之间的耦合度,提高了系统的可维护性...

Global site tag (gtag.js) - Google Analytics