Hibernate-select new Object(Entity obj)非主外键关联对象查询

Hibernate-select new Object(Entity obj)非主外键关联对象查询[@more@]

1.定义实体类

/**
* Name: net.uni.in1.model.RoleDict.java
* Version: 1.0
* Date: 2011-11-21
* Author: Administrator
*/
package net.uni.in1.model;

/**
* 处理内容: 用于多表非主外键联合查询用的
* @version: 1.0
* @see:net.uni.in1.model.RoleDict.java
* @date:2011-11-21
* @author:孙伟
*/
public class RoleDict {

private Role role = new Role();

private String dictName;

private String code;

private Long dictUniqNo;



/**
*

Title:


*

Description:


* @param role
* @param dictName
* @param code
* @param dictUniqNo
*/
public RoleDict(Object role, String dictName, String code, Long dictUniqNo) {
super();
this.role = (Role)role;
this.dictName = dictName;
this.code = code;
this.dictUniqNo = dictUniqNo;
}

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

public String getDictName() {
return dictName;
}

public void setDictName(String dictName) {
this.dictName = dictName;
}

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public Long getDictUniqNo() {
return dictUniqNo;
}

public void setDictUniqNo(Long dictUniqNo) {
this.dictUniqNo = dictUniqNo;
}

public Role getRole() {
return role;
}

public void setRole(Role role) {
this.role = role;
}
}
2.hql语句

String sql = "SELECT e as role,t.name as dictName,t.code as code,t.dictUniqNo as dictUniqNo FROM net.uni.in1.model.Role e,net.uni.in1.model.Dict t WHERE e.uniqNo=t.dictUniqNo";

注意:as后面的名称要与实体类里面的成员变量名称类型相同

3.创建query

Query query=this.getSession().createQuery(sql).setResultTransformer(Transformers.aliasToBean(net.uni.in1.model.RoleDict.class));

RoleDict就是你需要new出来的object

最后query.list的结果就是List

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25261409/viewspace-1056434/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25261409/viewspace-1056434/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值