zoukankan      html  css  js  c++  java
  • Hibernate createQuery查询传递参数的两种方式

    • 采用问号?方式传参
    @PersistenceContext
    private EntityManager entityManager;
    
    @Override
    public CustomApproval findApprovalById(Integer id) {
    	// TODO Auto-generated method stub
    	String sql = "select expiresAt,status,lastModifiedAt as lastUpdatedAt,userId,clientId,scope from oauth_approvals where id=?";
    	Query query = entityManager.createNativeQuery(sql);
    	query.setParameter(1, id);
    	query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(CustomApproval.class));
    	return (CustomApproval) query.getSingleResult();
    }
    

    ps1:在Hibernate5.0版本以后采用?传参的索引值从1开始,在3、4版本是从0开始。

    ps2:利用setResultTransformer的Transformers.aliasToBean可将sql的原生查询结果转换为实体对象;
    Transformers.ALIAS_TO_ENTITY_MAP将查询结果转为Map对象。

    • 采用字段名:字段名方式
    @PersistenceContext
    private EntityManager entityManager;
    
    @Override
    public CustomApproval findApprovalById(Integer id) {
    	// TODO Auto-generated method stub
    	String sql = "select expiresAt,status,lastModifiedAt as lastUpdatedAt,userId,clientId,scope from oauth_approvals where id=:id";
    	Query query = entityManager.createNativeQuery(sql);
    	query.setParameter("id", id);
    	query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(CustomApproval.class));
    	return (CustomApproval) query.getSingleResult();
    }
    
  • 相关阅读:
    win10删除了应用商店重新安装,应用商店报错不能联网下载
    bps,Bps,pps,fps单位换算
    mongodb查不出数据
    ps切图
    ppt常用设置
    视频录制
    excel设置下拉
    小程序开发
    手把手从0搭建hexo博客
    两种方式实现登录跳转新窗体
  • 原文地址:https://www.cnblogs.com/gmhappy/p/13457035.html
Copyright © 2011-2022 走看看