+ -
当前位置:首页 → 问答吧 → 从多个表中查询出几列数据,怎么取出这个数据

从多个表中查询出几列数据,怎么取出这个数据

时间:2011-12-13

来源:互联网

我用的是EJB、JPA框架,类似如下的代码,查询返回的是List<Object>数据,我怎么取出里面的name数据?
Query q = entityManager.createQuery("SELECT a.name b.name FROM a, b where a.id = b.id");
List<Object> results = (List<Object>) q.getResultList();
不胜感激!

作者: scott_good   发布时间: 2011-12-13

SELECT a.name b.name FROM a, b where a.id = b.id 最好改一下。
as XX 加上
既然是List 你还取不到值吗?

作者: yeqing4562011   发布时间: 2011-12-13

仔细看看我写的内容

这个是你多表查询 返回的结果是一个list 
这里要注意 list里面是数组 使用的时候要 使用list.get(0)[0]引用里面的对象
比如你sql关联查询一个 对象和一个字典对象
这样 对象被取出来,字典对象也被取出来 这两个和成一个数组对象被放到list的一个item里面
页面使用 无论那种框架 
使用标签循环 
 <c:forEach var="asset" items="${requestScope.assetLandList}">
asset[0].landName
或者才Service层将list重新拆装

作者: ollim   发布时间: 2011-12-13

SELECT a.name as aname, b.name as bname FROM a, b where a.id = b.id 然后你取得 时候 直接就是bname aname 了

作者: woyesyes   发布时间: 2011-12-13