关键代码:
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);
}