最近因为项目需要,涉及到了hibernate对视图的操作,在网上搜索了一下,这方面的文章并不多,所以自己写一个简单的hibernate操作视图的例子,希望对大家有所帮助。
注:hibernate3.0之后才支持视图的操作。
视图:
create or replace view empdetail as
(
select e.emp_name, e.emp_sal, d.dpt_name
from dept d, emp e
where d.dpt_id = e.emp_dpt_id
)
hibernate 默认情况下会将视图中的所有字段作为复合主键。
1、EmpDetailId。java(视图的数据结构类)
public class EmpDetailId implements Serializable {
private String empName;
private Integer empSal;
private String dptName;
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public Integer getEmpSal() {
return empSal;
}
public void setEmpSal(Integer empSal) {
this.empSal = empSal;
}
public String getDptName() {
return dptName;
}
public void setDptName(String dptName) {
this.dptName = dptName;
}
}
2、
EmpDetail。java(持久化类)
public class EmpDetail implements Serializable {
private EmpDetailId id;
public EmpDetailId getId() {
return id;
}
public void setId(EmpDetailId id) {
this.id = id;
}
}
3、EmpDetail.hbm.xml(映射文件)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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.xxx.xxx.EmpDetail" table="EMPDETAIL">
<composite-id name="id" class="com.xxx.xxx.EmpDetailId">
<key-property name="empName" type="java.lang.String" >
<column name="EMP_NAME" />
</key-property>
<key-property name="empSal" type="java.lang.Integer" >
<column name="EMP_SAL" />
</key-property>
<key-property name="dptName" type="java.lang.String" >
<column name="DPT_NAME" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>
其他的操作就和表没有区别了!
这样
用HQL进行查询时,就可以这样:
session.createQuery("from empdetail where
empdetail
.id.empName = '张三
'").list();
分享到:
相关推荐
NULL 博文链接:https://lixianglin-2008-ok-163-com.iteye.com/blog/283210
由于Generic DAO不能对复杂的HQL或视图,存贮过程进行操作,目前还有待完善,可以不用hibernate-generic-dao - Generic DAO, 用Spring3.2.0和Hibernate4替换,就是一个非常好的Struts2+Spring3+Hibernate4基于...
Struts+Hibernate实现MVC_strutsmvc.rar是一个计算机专业JSP源码资料包,它提供了一种基于Struts和Hibernate框架的实现模型-视图-控制器(MVC)设计模式的方法。这个资料包包含了一个完整的示例项目,用于演示如何...
通过参考和引用传智播客的免费教程,将springmvc4.1.6与hibernate4.3.10提供的JPA实现整合,使用mysql5.6.25,在MyEclipse2014中测试通过。可以作为web开发的基础框架使用。 使用说明: 1.需要安装mysql,并创建名为...
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...
Hibernate则是一种对象关系映射(ORM)工具,它可以让开发者用面向对象的方式来操作数据库,极大地简化了数据访问层的编码工作。而Spring框架则提供了一系列的企业级服务,如事务管理、依赖注入等,使得整个系统更加...
车辆管理系统是一个综合性的信息管理平台,旨在实现对车辆资源的有效监控、调度和管理。基于Struts、Hibernate、Spring和Oracle技术的车辆管理系统,以其稳定可靠、高效灵活的特性,为各类企事业单位提供了强大的...
"会员管理系统(struts+hibernate+spring)130226.rar" 是一个针对计算机专业的JSP源码资料包,它集成了Struts、Hibernate和Spring框架,旨在为用户提供一个高效、稳定且易于维护的会员管理解决方案。这个系统通过使用...
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+css+mysql).rar,这个压缩包包含了一个完整的计算机专业JSP源码资料。该网站是一个基于Java技术的在线书店系统,使用了Struts框架作为MVC架构的核心,Hibernate作为持久层框架,CSS用于...
项目申报系统是一个基于Struts2+Spring+Hibernate+Jsp+Mysql5的计算机专业JSP源码资料包。这个资料包包含了一个完整的项目申报系统的源代码,适用于计算机专业的学习与实践。首先,该系统采用了经典的SSH框架,即...
它包含用于构建一个功能齐全的博客系统的源代码和资源文件,结合了Java Server Pages (JSP)、Apache Struts框架、Hibernate持久化框架以及Spring框架的强大功能,以支持高效的数据库操作和灵活的业务逻辑处理。...
通过这个项目,你可以学习到如何使用Struts框架进行MVC(模型-视图-控制器)模式的开发,以及如何使用Hibernate技术实现对象关系映射(ORM),从而简化数据库操作。此外,这个项目还使用了CSS样式表来美化网页界面,...
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...
同时,该系统还结合了Hibernate框架,这是一个开源的对象关系映射(ORM)框架,它简化了数据库操作,允许开发者使用面向对象的方式来处理数据库,而无需关注底层SQL语句的细节。Spring框架的引入则是为了依赖注入和...
Hibernate3.0作为ORM框架,负责处理对象与数据库之间的映射关系,简化了数据库操作,提高了开发效率。Spring2作为IoC容器,负责管理对象的生命周期和依赖关系,降低了系统各模块之间的耦合度,提高了系统的可维护性...
对象的思想来操作关系型数据库的各类数据,同时 Hibernate 还提供了灵活的事 务处理和查询机制。通过以上两个框架的整合应用,可以形成一个灵活、松耦 合和易于扩展维护的信息系统的完整解决方案。 本论文以江苏省...
在线考试系统用的是ssh稳定框架整合,为了保证用hibernate操作数据库不出错,所有的数据库表不是用mysql企业管理器或查询分析器来完成的,而是用hibernate的pojo类和hbm.xml文件导入的,然而,配置这些关联映射却很...
2. 使用Hibernate作为ORM框架,实现了对数据库的抽象和封装,简化了数据库操作。 3. 采用MySQL作为数据库存储,具有较高的性能和可扩展性。 4. 使用CSS进行前端页面设计,实现了良好的用户界面和交互体验。 **二次...
对于视图的设计,包含了 Bootstrap 3.3.2 框架。 此示例不包括服务器端表单数据验证,或应为最终产品考虑的其他安全实践。 笔记 为了运行该示例,必须执行以下操作: 下载的 。 必须在项目目录中创建“libs”...