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

hibernate关联查询示例代码

    博客分类:
  • java
 
阅读更多

关键代码:

1、返回结果实体类

public class TestVO implements Serializable{
	
	private String termId; 
	private String termAttr;
	private String termEquity;
	private String termState;
	private String tempUser;
	private String branchId;
	private String branchName;
	private String customerId;
	private String havePsam;
	private String psamId;
	private String merchantId;
	private String openDate;
	private String closeDate;
	private String termActivation;
	
        public TestVO(){
                super();
        }
	//构造方法(参数类型和参数顺序需注意)
	public TestVO(String termId, String termAttr, String termEquity,
			String termState, String tempUser, String branchId,
			String branchName, String customerId, String havePsam,
			String psamId, String merchantId, String openDate,
			String closeDate, String termActivation) {
		this.termId = termId;
		this.termAttr = termAttr;
		this.termEquity = termEquity;
		this.termState = termState;
		this.tempUser = tempUser;
		this.branchId = branchId;
		this.branchName = branchName;
		this.customerId = customerId;
		this.havePsam = havePsam;
		this.psamId = psamId;
		this.merchantId = merchantId;
		this.openDate = openDate;
		this.closeDate = closeDate;
		this.termActivation = termActivation;
	}
	
	public String getTermId() {
		return termId;
	}
	public void setTermId(String termId) {
		this.termId = termId;
	}
	public String getTermAttr() {
		return termAttr;
	}
	public void setTermAttr(String termAttr) {
		this.termAttr = termAttr;
	}
	public String getTermEquity() {
		return termEquity;
	}
	public void setTermEquity(String termEquity) {
		this.termEquity = termEquity;
	}
	public String getTermState() {
		return termState;
	}
	public void setTermState(String termState) {
		this.termState = termState;
	}
	public String getTempUser() {
		return tempUser;
	}
	public void setTempUser(String tempUser) {
		this.tempUser = tempUser;
	}
	public String getBranchId() {
		return branchId;
	}
	public void setBranchId(String branchId) {
		this.branchId = branchId;
	}
	public String getBranchName() {
		return branchName;
	}
	public void setBranchName(String branchName) {
		this.branchName = branchName;
	}
	public String getCustomerId() {
		return customerId;
	}
	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}
	public String getHavePsam() {
		return havePsam;
	}
	public void setHavePsam(String havePsam) {
		this.havePsam = havePsam;
	}
	public String getPsamId() {
		return psamId;
	}
	public void setPsamId(String psamId) {
		this.psamId = psamId;
	}
	public String getMerchantId() {
		return merchantId;
	}
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}
	public String getOpenDate() {
		return openDate;
	}
	public void setOpenDate(String openDate) {
		this.openDate = openDate;
	}
	public String getCloseDate() {
		return closeDate;
	}
	public void setCloseDate(String closeDate) {
		this.closeDate = closeDate;
	}
	public String getTermActivation() {
		return termActivation;
	}
	public void setTermActivation(String termActivation) {
		this.termActivation = termActivation;
	}
}

 

 

2、实体类

 

public class PayBranch implements Serializable {

	private Set<PayTerminal> payTerminals = new HashSet<PayTerminal>(); 
	
	public Set<PayTerminal> getPayTerminals() {
		return payTerminals;
	}
	public void setPayTerminals(Set<PayTerminal> payTerminals) {
		this.payTerminals = payTerminals;
	}
	
}

 

 

3、hibernate.hbm.xml

 

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="com.test.PayBranch" table="PayBranch">
        <id name="branchId" type="java.lang.String" column="branchId" length="12">
            <generator class="assigned"/>
        </id>
		
		<set name="payTerminals" inverse="true" fetch="join" lazy="true" cascade="all" outer-join="false">  
        	<key column="branchId"/>  
        	<one-to-many class="com.pm.hibernate.po.PayTerminal"/>  
    	</set> 
    </class>

</hibernate-mapping>

 

 

4、dao层

 

public class PayManagerDao {

	public static Page getPage(PayTerminal terminal,int curPage){
		StringBuffer sb = new StringBuffer();
		sb.append("select new com.test.TestVO (pt.termId,pt.termAttr,pt.termEquity,pt.termState,pt.tempUser,pt.branchId,pb.branchName,pt.customerId,pt.havePsam,pt.psamId,pt.merchantId,pt.openDate,pt.closeDate,pt.termActivation)"
		+" from PayBranch pb join pb.payTerminals pt where 1=1 ");
//		sb.append("select new com.pm.entity.PayTerminalVO (pt.termId,pt.termAttr,pt.termEquity,pt.termState,pt.tempUser,pt.branchId,pb.branchName,pt.customerId,pt.havePsam,pt.psamId,pt.merchantId,pt.openDate,pt.closeDate,pt.termActivation)"
//				+" from PayBranch pb right join pb.payTerminals pt where 1=1 ");
		
		sb.append("order by pt.termId desc");
		return PageFactory.getPage(sb.toString(), curPage);
    }

 

 

分享到:
评论

相关推荐

    Hibernate单向关联代码示例

    "Hibernate单向关联代码示例"是一个实用的学习资源,帮助开发者理解如何在实际项目中实现单向关联。在这个示例中,你将看到两个实体类之间的单向关联,并学习到如何在Java代码中配置和操作这些关联。 单向关联分为...

    hibernateHQL关联查询

    ### Hibernate HQL 关联查询详解 #### 一、引言 ...对于开发者而言,掌握HQL关联查询不仅可以提高查询效率,还能让代码更加简洁易懂。希望本文能帮助读者更好地理解和运用Hibernate HQL关联查询技术。

    Hibernate学习代码示例

    这个“Hibernate学习代码示例”压缩包文件为初学者提供了丰富的学习资源,帮助他们理解并掌握Hibernate的核心概念和实际应用。 首先,让我们详细探讨一下Hibernate的基础知识。Hibernate是一个开源的ORM框架,它的...

    Hibernate双向关联代码示例

    本示例将深入探讨Hibernate中的双向关联,这是一种常见且重要的数据模型映射技术。 双向关联是指两个实体类之间存在相互引用的关系。在数据库中,这种关系通常表现为两个表之间的外键关联。在Hibernate中,双向关联...

    hibernate关联映射实例

    本文将深入探讨“hibernate关联映射实例”中的关键知识点,包括一对多、多对多和继承映射,这些都是Hibernate中至关重要的概念。 1. **一对多关联映射**: 在现实世界中,一个实体可能会与多个其他实体相关联,...

    jpa之使用hibernate示例代码

    通过分析"jpa-hibernate"这个压缩包中的示例代码,你可以深入理解JPA和Hibernate是如何协同工作的,以及如何在实际项目中利用它们来实现高效的数据访问。这些示例通常包括配置文件、实体类、DAO(Data Access Object...

    hibernate-代码学习示例

    【hibernate-代码学习示例】是一个关于Hibernate框架的实战教程,主要针对开发者提供深入理解和使用Hibernate的实例。Hibernate是Java开发中的一个流行对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以更...

    hibernate完整小示例

    "hibernate完整小示例"是一个基础的教程,涵盖了配置、实体类、持久化操作和查询等关键点。通过这个示例,开发者能够快速上手Hibernate,了解如何在Java项目中利用其强大功能进行数据库操作。不过,要完全掌握...

    Struts1.2+Spring1.2+HIbernate3.1整合示例代码

    Hibernate通过映射文件(hbm.xml)将Java对象与数据库表关联,提供了查询语言HQL(Hibernate Query Language)以及 Criteria API,以进行复杂的数据检索。 SSH整合的关键在于: 1. **Spring与Struts的整合**:...

    Hibernate开发实战源代码

    【Hibernate开发实战源代码】是针对Java开发人员的一个学习资源,特别关注于使用Hibernate这个流行的对象关系映射(ORM)框架进行数据库操作。Hibernate简化了Java应用与数据库之间的交互,通过将Java对象直接映射到...

    一个struts2.0+spring2.0+hibernate3.1应用示例代码

    这个示例代码将帮助初学者理解如何将Struts2、Spring和Hibernate这三大框架协同工作,以及如何在实际项目中进行集成。对于进阶开发者来说,这是一个深入学习和优化这些框架集成的好资源。通过阅读和实践,你可以更好...

    Hibernate多对多关联添加及查询示例

    本示例主要关注的是Hibernate中的多对多关联映射及其添加与查询方法。 多对多关联是数据库设计中的一种常见关系类型,指的是两个实体之间可以存在多个对应关系。例如,在学生与课程的关系中,一个学生可以选修多门...

    hibernate多表联合查询

    ### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。Hibernate作为一款流行的Java持久层框架,提供了一种非常便捷的方式来处理...

    Hibernate3.x关联映射示例

    以`hibernate_school_01`为例,可能包含如下示例代码: ```xml &lt;!-- XML配置方式 --&gt; &lt;hibernate-mapping&gt; &lt;/hibernate-mapping&gt; &lt;!-- 注解方式 --&gt; @Entity public class School { @Id @...

    Hibernate关联关系

    ### Hibernate关联关系详解 在Java开发领域中,Hibernate作为一个强大的对象关系映射(ORM)框架,为开发者提供了方便地操作数据库的方式。通过将Java对象与数据库表进行映射,Hibernate大大简化了数据持久化层的...

    hibernate入门示例代码

    通过 Hibernate,开发者可以避免编写大量的 JDBC 代码,从而提高开发效率,减少出错的可能性。 **安装与配置 Hibernate** 在使用 Hibernate 之前,你需要先下载 Hibernate 的 JAR 包,并将其添加到项目的类路径中...

    hibernate关联映射的作用和常用属性解释

    ### Hibernate关联映射的作用与常用属性详解 #### 关联映射概述 在对象关系映射(Object Relational Mapping,简称ORM)技术中,Hibernate作为Java领域内非常成熟且功能强大的框架之一,它允许开发者将Java类映射...

    hibernate主键一对一关联映射代码示例

    本示例将深入讲解如何在Hibernate中实现主键一对一关联映射,并通过代码示例进行解析。 一对一关联意味着在一个实体中,每个实例都唯一对应另一个实体的实例。这种关联可以通过共享主键(primary key)或外键...

    Hibernate 完整项目示例

    **Hibernate 完整项目示例** 本项目是一个基于JavaWeb技术的完整实例,它深入运用了Hibernate框架,展示了如何在实际开发中利用Hibernate进行数据的持久化操作,包括数据的插入和查询。Hibernate是一个强大的对象...

Global site tag (gtag.js) - Google Analytics