您现在的位置: 电子商务模式 >> 电子商务技术 >> 数据 >> [EB技术]正文  显示方式: 

Hibernate操作视图实例 - MiTKooKs Technical Blog
http://tech.caneb.com/ 时间:2006-12-29 9:22:17 点击数:   电子商务模式[技术]频道 

今日不可不关注的电子商务技术资讯:

【文章简介】 开发环境:Eclipse3.2+MyEclipse5.01GA;框架使用:Struts+Spring+Hibernate在Employee数据库中有三个表:EmployeeInfo(员工信息表)、Depts(部门表)、Business(职务表)EmployeeInfo表结构:emp_id主键emp_nameemp_sexemp_ageemp_dept存储dept_idemp_business存

【文章正文】 开发环境:Eclipse3.2+MyEclipse5.01GA;框架使用:Struts+Spring+Hibernate
在Employee数据库中有三个表:EmployeeInfo(员工信息表)、Depts(部门表)、Business(职务表)
EmployeeInfo表结构:
emp_id主键
emp_name
emp_sex
emp_age
emp_dept存储dept_id
emp_business存储business_id
emp_address

Depts:
dept_id主键
dept_name

Business:
business_id主键
business_name

在应用程序中需要查询员工的详细信息,包括部门和职务名称,要完成这样的查询需要较长较复杂的SQL代码,与其在程序中书写代码不如在数据库建立一个视图来简化程序的操作,其SQL代码如下:
create view employeedetialinfo AS (select e.emp_id,e.emp_name,e.emp_sex,e.emp_age,d.dept_name,
b.business_name,e.emp_address from employeeinfo e,depts d,business b where e.emp_dept=d.dept_id and e.emp_business=b.business_id;

以上的SQL语句创建了一个名为employeedetialinfo的视图。
现在需要用Hibernate对视图进行映射,生成可持久化类对象。注意:在Hibernate3之后才支持对视图的操作,Hibernate2并不支持如果你的项目中是使用Hibernate2就没必要往下看了。
在Eclipse中切到MyEclipse DataBase Explorer(数据库浏览视图)中打开连接,找到Employee表,选择下面的View子节点,可以看到一个名为employeedetialinfo的视图,鼠标右键点击它,选择“Hibernate Reverse Engineering…”,设置了包路径后,依次钩选“Hibernate Mapping File”、“Java Data Object”(取消钩选“Create abstract class”)以及“Java Data Access Object(DAO)”,在“Java Data Access Object(DAO)”下会自动钩选“Generate precise findby methods”,以及选择“Spring DAO”选项,使用“Spring DAO”后,在DAO类里转而使用了HibernateTemplate对象来操作数据库,可以免去事务管理;这样就生成完持久化类,需要注意的是生成视图映射和生成表映射不一样,因为视图是没有主键的,Hibernate就将视图结构本身做为ID主键,所以你可看到生成出来的文件有四个,分别是
Employeedetialinfo.hbm.xml(映射文件)
Employeedetialinfo.java(持久化类文件)
EmployeedetialinfoId.java(视图的数据结构类)
EmployeedetialinfoDAO.java(DAO:Data Access Object用来简化数据操作的类,常用的添加、删除、更新、查询都可以在这个类里得到快速的实现)
如果对表进行映射是没有EmployeedetialinfoId这个类文件的。

在Action中的处理代码是这样的:
public class EmployeeDetialAction extends ActionSupport {
    /*
     * Generated Methods
     */

    /**
     * Method execute
     * @param mapping

[1] [2] 下一页


关键词:数据库
阅读本站更多关于:“Hibernate操作视图实例 - MiTKooKs Technical Blog”的文章>>>>
作者:MiTKooKs… 文章来源:CSDN
[EB技术]录入:北极星    责任编辑:北极星 

  窄告信息
电子商务辩论台
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
电子商务模式网站(www.CanEb.com)版权与免责声明:
① 本网转载其他媒体、网站文章是为传播更多的信息,此类文章不代表本网观点,也不对其真实性负责,本网不承担此类文章侵权行为的连带责任。
② 在本网论坛(BBS)博客(Blog)网络硬盘(WebDisk)上发表言论或上传、收藏文件者,责任自负。
③ 如您因版权等问题需要与本网联络,请在30日内联系 caneb_com@yahoo.com.cn
④ 凡本网原创文章(包括论坛、博客等),欢迎转载,但务必注明来自本网,且需注明引用网址。
焦点图片
今日博客
电子商务模式网站意见反馈留言板