hibernate 自定义sql createSQLQuery多表join查询查询自定义vo对象
由于要做个left join所以要搞个vo对象
LogManageVo.java
里面就写属性和get set方法就可以了
import com.sevnce.log.entity.LogManageDetails;
/**
* Created by zhouzhongqing on 2017/3/16.
*/
public class LogManageVo extends LogManageDetails{
/**
* 操作人id
* */
private int usrUserId;
/**
* 操作人名称
* **/
private String usrUserName;
/**
* 操作人动作,操作了哪个模块
* **/
private String whatAction;
/**
* 记录的操作日志是否为登录,0 登录 1 其他
* **/
private int isLogin;
public int getUsrUserId() {
return usrUserId;
}
public void setUsrUserId(int usrUserId) {
this.usrUserId = usrUserId;
}
public String getUsrUserName() {
return usrUserName;
}
public void setUsrUserName(String usrUserName) {
this.usrUserName = usrUserName;
}
public String getWhatAction() {
return whatAction;
}
public void setWhatAction(String whatAction) {
this.whatAction = whatAction;
}
public int getIsLogin() {
return isLogin;
}
public void setIsLogin(int isLogin) {
this.isLogin = isLogin;
}
String sql = "SELECT lmd.*,lm.usrUserId,lm.usrUserName,lm.whatAction,lm.isLogin from log_manage_details as lmd LEFT JOIN log_manage as lm on lm.id = lmd.ref_LogManageId ";
Query query = baseDao.querySql(sql).setResultTransformer(Transformers.aliasToBean(LogManageVo.class));
querySql里面封装的createSQLQuery
重要的是这个方法setResultTransformer,createSQLQuery返回的是数组,如果要转换的bean对象是一个VO或者是POLO对象的话就用这个方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现