hibernate关联查询示例代码

关键代码:

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);
    }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值