`

Hibernate映射视图View

阅读更多
create or replace view v_memo as
select rownum as sadid,m.sadprf as sadprf,m.sadfrm as sadfrm,m.sadadm as sadadm,m.sadagt as sadagt,m.sadsty as sadsty,m.sadbde as sadbde,m.sadmch as sadmch,m.sadcur as sadcur,m.sadjmt as sadjmt,m.sadsta as sadsta,m.sadhmh as sadhmh,m.sadmfg as sadmfg,
h.smchmh as smchmh,h.smcseq as sadseq,h.smcdid as saddid,h.smcddt as sadddt,h.smcmdt as sadmdt,h.smcdcm as saddcm,h.smcdat as saddat,h.smcdmt as saddmt,h.smcdcr as saddcr,c.sdccdt as sadcdt
  from satadm m
  left join satmch h on m.sadprf = h.smcprf
                    and m.sadfrm = h.smcfrm
                    and m.sadadm = h.smcadm
  left join saldcm c on h.smcdsq=c.sdcseq
  with check option;

 

@Entity
@Table(name = "V_MEMO")
@IdClass(TestViewId.class)
public class TestView{

    /**  */
    private static final long serialVersionUID = -8873299808673480077L;

   
    @Id
    @Column(name = "SADPRF", nullable = false, length = 4)
    private String sadprf;

    @Id
    @Column(name = "SADFRM", nullable = false, length = 3)
    private String sadfrm;

    @Id
    @Column(name = "SADADM", nullable = false, length = 7)
    private String sadadm;

    @Id
    @Column(name = "SADID", columnDefinition = "number(22,0)")
    private BigDecimal sadid;

    @Column(name = "SADSEQ", unique = true, nullable = false, columnDefinition = "number(10,0)")
    private Long smcseq;

    @Column(name = "SADSTY", length = 1)
    private String sadsty;

    @Column(name = "SADJMT", columnDefinition = "number(15,4)")
    private Double sadjmt;

    @Column(name = "SADMCH", length = 1)
    private String sadmch;

    @Column(name = "SADAGT", length = 8)
    private String sadagt;

    @Column(name = "SADSTA", length = 4)
    private String sadsta;

    @Column(name = "SADBDE", columnDefinition = "number(8,0)")
    private Integer sadbde;

    @Column(name = "SADCUR", length = 3)
    private String sadcur;

    @Column(name = "SADHMH", length = 1)
    private String sadhmh;

    @Column(name = "SADMFG", length = 1)
    private String sadmfg;

   

    @Column(name = "SADDID", length = 20)
    private String smcdid;

    @Column(name = "SADDDT", columnDefinition = "number(8,0)")
    private Integer smcddt;

    @Column(name = "SADMDT", nullable = false, columnDefinition = "number(8,0)")
    private Integer smcmdt;

    @Column(name = "SADDCM", length = 8)
    private String smcdcm;

    @Column(name = "SADDAT", length = 8)
    private String smcdat;

    @Column(name = "SADDMT", columnDefinition = "number(15,4)")
    private Double smcdmt;

    @Column(name = "SADDCR", length = 3)
    private String saddcr;

    @Column(name = "SMCHMH", length = 1)
    private String smchmh;

    

    @Column(name = "SADCDT", columnDefinition = "number(14,0)")
    private Long sdccdt;

    /**
     * @return the sadprf
     */
    public String getSadprf() {
        return sadprf;
    }

    /**
     * @param sadprf the sadprf to set
     */
    public void setSadprf(String sadprf) {
        this.sadprf = sadprf;
    }

    /**
     * @return the sadfrm
     */
    public String getSadfrm() {
        return sadfrm;
    }

    /**
     * @param sadfrm the sadfrm to set
     */
    public void setSadfrm(String sadfrm) {
        this.sadfrm = sadfrm;
    }

    /**
     * @return the sadadm
     */
    public String getSadadm() {
        return sadadm;
    }

    /**
     * @param sadadm the sadadm to set
     */
    public void setSadadm(String sadadm) {
        this.sadadm = sadadm;
    }

    /**
     * @return the sadsty
     */
    public String getSadsty() {
        return sadsty;
    }

    /**
     * @param sadsty the sadsty to set
     */
    public void setSadsty(String sadsty) {
        this.sadsty = sadsty;
    }

    /**
     * @return the sadjmt
     */
    public Double getSadjmt() {
        return sadjmt;
    }

    /**
     * @param sadjmt the sadjmt to set
     */
    public void setSadjmt(Double sadjmt) {
        this.sadjmt = sadjmt;
    }

    /**
     * @return the sadmch
     */
    public String getSadmch() {
        return sadmch;
    }

    /**
     * @param sadmch the sadmch to set
     */
    public void setSadmch(String sadmch) {
        this.sadmch = sadmch;
    }

    /**
     * @return the sadagt
     */
    public String getSadagt() {
        return sadagt;
    }

    /**
     * @param sadagt the sadagt to set
     */
    public void setSadagt(String sadagt) {
        this.sadagt = sadagt;
    }

    /**
     * @return the sadsta
     */
    public String getSadsta() {
        return sadsta;
    }

    /**
     * @param sadsta the sadsta to set
     */
    public void setSadsta(String sadsta) {
        this.sadsta = sadsta;
    }

    /**
     * @return the sadbde
     */
    public Integer getSadbde() {
        return sadbde;
    }

    /**
     * @param sadbde the sadbde to set
     */
    public void setSadbde(Integer sadbde) {
        this.sadbde = sadbde;
    }

    /**
     * @return the sadcur
     */
    public String getSadcur() {
        return sadcur;
    }

    /**
     * @param sadcur the sadcur to set
     */
    public void setSadcur(String sadcur) {
        this.sadcur = sadcur;
    }

    /**
     * @return the sadhmh
     */
    public String getSadhmh() {
        return sadhmh;
    }

    /**
     * @param sadhmh the sadhmh to set
     */
    public void setSadhmh(String sadhmh) {
        this.sadhmh = sadhmh;
    }

    /**
     * @return the smcdid
     */
    public String getSmcdid() {
        return smcdid;
    }

    /**
     * @param smcdid the smcdid to set
     */
    public void setSmcdid(String smcdid) {
        this.smcdid = smcdid;
    }

    /**
     * @return the smcddt
     */
    public Integer getSmcddt() {
        return smcddt;
    }

    /**
     * @param smcddt the smcddt to set
     */
    public void setSmcddt(Integer smcddt) {
        this.smcddt = smcddt;
    }

    /**
     * @return the smcmdt
     */
    public Integer getSmcmdt() {
        return smcmdt;
    }

    /**
     * @param smcmdt the smcmdt to set
     */
    public void setSmcmdt(Integer smcmdt) {
        this.smcmdt = smcmdt;
    }

    /**
     * @return the smcdcm
     */
    public String getSmcdcm() {
        return smcdcm;
    }

    /**
     * @param smcdcm the smcdcm to set
     */
    public void setSmcdcm(String smcdcm) {
        this.smcdcm = smcdcm;
    }

    /**
     * @return the smcdat
     */
    public String getSmcdat() {
        return smcdat;
    }

    /**
     * @param smcdat the smcdat to set
     */
    public void setSmcdat(String smcdat) {
        this.smcdat = smcdat;
    }

    /**
     * @return the smcdmt
     */
    public Double getSmcdmt() {
        return smcdmt;
    }

    /**
     * @param smcdmt the smcdmt to set
     */
    public void setSmcdmt(Double smcdmt) {
        this.smcdmt = smcdmt;
    }

    /**
     * @return the sdccdt
     */
    public Long getSdccdt() {
        return sdccdt;
    }

    /**
     * @param sdccdt the sdccdt to set
     */
    public void setSdccdt(Long sdccdt) {
        this.sdccdt = sdccdt;
    }

    /**
     * @return the saddcr
     */
    public String getSaddcr() {
        return saddcr;
    }

    /**
     * @param saddcr the saddcr to set
     */
    public void setSaddcr(String saddcr) {
        this.saddcr = saddcr;
    }

    /**
     * @return the sadmfg
     */
    public String getSadmfg() {
        return sadmfg;
    }

    /**
     * @param sadmfg the sadmfg to set
     */
    public void setSadmfg(String sadmfg) {
        this.sadmfg = sadmfg;
    }

    /**
     * @return the smcseq
     */
    public Long getSmcseq() {
        return smcseq;
    }

    /**
     * @param smcseq the smcseq to set
     */
    public void setSmcseq(Long smcseq) {
        this.smcseq = smcseq;
    }

    /**
     * @return the smchmh
     */
    public String getSmchmh() {
        return smchmh;
    }

    /**
     * @param smchmh the smchmh to set
     */
    public void setSmchmh(String smchmh) {
        this.smchmh = smchmh;
    }

    /**
     * @return the sadid
     */
    public BigDecimal getSadid() {
        return sadid;
    }

    /**
     * @param sadid the sadid to set
     */
    public void setSadid(BigDecimal sadid) {
        this.sadid = sadid;
    }

}

 

@Embeddable
public class TestViewId implements Serializable {

    /**  */
    private static final long serialVersionUID = 8548042839147058314L;

    private String sadprf;
    private String sadfrm;
    private String sadadm;
    private BigDecimal sadid;

    /**
     * @return the sadprf
     */
    public String getSadprf() {
        return sadprf;
    }

    /**
     * @param sadprf the sadprf to set
     */
    public void setSadprf(String sadprf) {
        this.sadprf = sadprf;
    }

    /**
     * @return the sadfrm
     */
    public String getSadfrm() {
        return sadfrm;
    }

    /**
     * @param sadfrm the sadfrm to set
     */
    public void setSadfrm(String sadfrm) {
        this.sadfrm = sadfrm;
    }

    /**
     * @return the sadadm
     */
    public String getSadadm() {
        return sadadm;
    }

    /**
     * @param sadadm the sadadm to set
     */
    public void setSadadm(String sadadm) {
        this.sadadm = sadadm;
    }

    /**
     * @return the sadid
     */
    public BigDecimal getSadid() {
        return sadid;
    }

    /**
     * @param sadid the sadid to set
     */
    public void setSadid(BigDecimal sadid) {
        this.sadid = sadid;
    }

    /**
     * @return
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((sadadm == null) ? 0 : sadadm.hashCode());
        result = prime * result + ((sadfrm == null) ? 0 : sadfrm.hashCode());
        result = prime * result + ((sadid == null) ? 0 : sadid.hashCode());
        result = prime * result + ((sadprf == null) ? 0 : sadprf.hashCode());
        return result;
    }

    /**
     * @param obj
     * @return
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        MemoViewId other = (MemoViewId) obj;
        if (sadadm == null) {
            if (other.sadadm != null)
                return false;
        } else if (!sadadm.equals(other.sadadm))
            return false;
        if (sadfrm == null) {
            if (other.sadfrm != null)
                return false;
        } else if (!sadfrm.equals(other.sadfrm))
            return false;
        if (sadid == null) {
            if (other.sadid != null)
                return false;
        } else if (!sadid.equals(other.sadid))
            return false;
        if (sadprf == null) {
            if (other.sadprf != null)
                return false;
        } else if (!sadprf.equals(other.sadprf))
            return false;
        return true;
    }

    /**
     * @param sadprf
     * @param sadfrm
     * @param sadadm
     * @param sadid
     */
    public MemoViewId(String sadprf, String sadfrm, String sadadm, BigDecimal sadid) {
        super();
        this.sadprf = sadprf;
        this.sadfrm = sadfrm;
        this.sadadm = sadadm;
        this.sadid = sadid;
    }

    /**
     * 
     */
    public MemoViewId() {
        super();
        // TODO Auto-generated constructor stub
    }

}

 

视图是没有索引的,所以映射时可以使用复合主键来作为主键或者使用oracle中的关键字rownum作为主键。

 

分享到:
评论

相关推荐

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

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

    hibernate 视图

    在Hibernate中,我们可以利用Hibernate的映射机制来处理视图,将其作为实体进行操作。 **视图的作用** 1. **数据安全**:视图可以限制用户对原始表的访问权限,只允许他们看到和修改特定的数据集。 2. **数据聚合**...

    Hibernate映射导致的几个异常

    为避免此问题,可以考虑在查询时显式加载关联的数据,或者使用开放会话视图(Open Session In View)模式。另外,使用`@Transactional`注解或在服务层方法中管理事务可以帮助保持会话的生命周期。 2. **`...

    Spring + Hibernate + Spring mvc +Ajax 整合

    Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用Java对象来操作数据库,而无需直接编写SQL语句。通过Hibernate,开发者可以将数据库操作与业务逻辑分离,提高代码的可维护性和可复用性。 Spring与...

    Hibernate_Tools_for_eclipse_HbmTool.rar

    如果你不能看到上图所示的Hibernate Configurations窗口,说明你没有打开这个View,选择Windows-Show View-Other,然后选择Hibernate Configurations即可打开这个窗口,窗口的位置无关紧要,你喜欢放在那里就把他...

    Hibernate做的留言板

    6. **视图(View)**:可能是JSP、HTML页面,显示数据或接收用户输入。 7. **依赖库(Libraries)**:包括Hibernate、JDBC驱动和其他依赖的jar文件。 通过研究这个项目,开发者可以学习到如何配置Hibernate,如何...

    struts+hibernate整合jar包

    Struts主要负责MVC(Model-View-Controller)架构的实现,提供控制层的功能,而Hibernate则是一个强大的对象关系映射(ORM)工具,用于简化数据库操作。将两者整合可以创建出高效、灵活的Web应用程序。 **Struts 2...

    Hibernate Tools for Eclipse Plugins 的安装和使用

    - Hibernate视图:如果未显示`Hibernate Configurations`视图,可以通过`Windows` -> `Show View` -> `Other`来打开。 - 主键设置:主键对于反向工程至关重要,推荐使用与业务无关的ID作为主键。 通过上述步骤,...

    spring mvc整合hibernate

    Spring MVC 用于构建应用程序的前端控制器,提供模型-视图-控制器(MVC)架构,而 Hibernate 是一个强大的对象关系映射(ORM)框架,负责数据库操作。整合这两个框架可以让我们在处理业务逻辑时更加高效和灵活。 ...

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

    本案例主要关注的是如何将Hibernate ORM(对象关系映射)框架与Struts2 MVC(模型-视图-控制器)框架整合,同时探讨MVC分层架构在实际应用中的运用。以下是对这些知识点的详细说明: **1. Hibernate ORM框架** ...

    jsf和hibernate资料

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

    基于hibernate的简单留言本

    5. **实现前端接口**: 创建控制器(Controller)或视图(View),处理用户的请求,调用Service层方法,并将结果返回给用户。 【技术点详解】 1. **JDBC与Hibernate比较**: Hibernate通过ORM简化了JDBC的繁琐操作,...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    5. **数据库脚本**:创建Oracle 11g数据库表的SQL脚本,与Hibernate映射的实体类相对应。 在Eclipse 3.2环境下,这个项目可以导入为一个动态Web项目,并配置Tomcat 5.5作为服务器。运行时,需要确保Oracle 11g...

    SpringMVC+Hibernate+Spring整合实例

    Hibernate支持实体类、映射文件、HQL(Hibernate查询语言)等特性,使得数据操作更加便捷和高效。 Spring作为核心框架,提供依赖注入(DI)和面向切面编程(AOP)功能。DI允许开发者在运行时动态地组装对象及其依赖...

    spring mvc+hibernate 简单 实例 代码,新手入门

    - Mapping:对象-关系映射,通过 Hibernate 映射文件或注解来定义实体类和数据库表的关系。 3. **整合 Spring MVC 和 Hibernate:** - 通过 Spring 的声明式事务管理,可以在配置文件中定义事务边界,简化事务...

    struts+hibernate 项目

    Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作,将Java对象和数据库表之间的映射关系自动化处理。开发者可以通过定义实体类和映射文件(hibernate.cfg.xml和.hbm.xml)来管理数据,无需编写大量的...

    Hibernate入门(代码+笔记)

    以及开放 session 在视图(Open Session In View,OSIV)模式,确保在Web请求生命周期内保持一个持久化上下文,避免N+1查询问题。 总结来说,本教程涵盖了Hibernate的基础知识,从入门到实体映射,再到复合主键和...

    springMVC+hibernate3整合

    Spring MVC 提供了强大的请求处理和视图管理功能,而 Hibernate 则是 ORM(对象关系映射)框架,简化了数据库操作。下面将详细介绍这两个框架的整合过程及其核心概念。 **Spring MVC 概述** Spring MVC 是 Spring ...

    Struts+Hibernate实现MVC

    Struts和Hibernate是Java开发中两个非常重要的框架,它们分别负责MVC(Model-View-Controller)模式中的控制层和数据持久化层。MVC模式是一种广泛应用的软件设计模式,可以将应用程序的业务逻辑、用户界面和数据访问...

    SpringMVC和Hibernate

    Controller处理业务逻辑,Model存储数据,View负责渲染视图,ViewModel则是数据和视图之间的桥梁。 Hibernate ORM框架允许开发人员用面向对象的方式处理数据库操作,避免了直接编写SQL语句的繁琐工作。它通过映射...

Global site tag (gtag.js) - Google Analytics