码迷,mamicode.com
首页 > 编程语言 > 详细

spring jpa查询视图

时间:2019-03-19 21:27:03      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:数据库表   方法   buffer   https   ring   nat   result   author   解决办法   

这段时间在项目中用到的spring+springmvc+hibernate+jpa框架,今天遇到一个问题:如何用原装的jpa查询视图?

使用过jpa的朋友都知道,这是个很难受的问题,我在网上找了半天也没找到简单的答案,大部分都是先建立视图有关的表和类做关联,然后再手写SQL,很是麻烦,而且最要命的是,数据库表不是我建的,表很多,很乱,后来求助大佬,得到一个解决办法:

  1.使用原生SQL解决,即使用EntityManager类,然后用object[]数组接收;

  2.由于做表和实体类的关联,就没有办法在dao层写方法,就无法继承jpa,要不这样就会报错,所以方法是建立在service实现层

  3.具体代码如下:注(由于是内网,所以在网上摘录了这段代码,地址:https://blog.csdn.net/qq_14853889/article/details/84447989

StringBuffer querySql = new StringBuffer("select a.* from art_user a , art_user_authority b where a.id = b.user_id and a.company_id = :companyId " +
                " and b.authority_name =  :authorityName");
        Query query = entityManager.createNativeQuery(querySql.toString() , User.class);
        query.setParameter("companyId" , companyID);
        query.setParameter("authorityName" , authorityName);
        List<User> list = query.getResultList();
}

  其实这样写感觉并不合适,后期有什么合适的解决方案就会替换掉,如果有哪位大佬有什么方法也可以提出来大家一块参考一下。

spring jpa查询视图

标签:数据库表   方法   buffer   https   ring   nat   result   author   解决办法   

原文地址:https://www.cnblogs.com/jiushijiang/p/10561410.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!