List result = new ArrayList();//把有角色绑定的父节点查询出来
result= this.userRoleService.getRoleFun(roleid);//返回功能与角色集合
现在这个result的size 是2,但是我如何取这list中的对象啊属性啊。
这个是中间表
public class Role_Plate extends BaseModel { private Plate plate; private UserMag_b_RightTeam role;
result里面就是存的plate和role 对象,现在我想取Plate 下的pid属性,怎么取。而且这个pid不是一个,是多个
result= this.userRoleService.getRoleFun(roleid);//返回功能与角色集合
现在这个result的size 是2,但是我如何取这list中的对象啊属性啊。
这个是中间表
public class Role_Plate extends BaseModel { private Plate plate; private UserMag_b_RightTeam role;
result里面就是存的plate和role 对象,现在我想取Plate 下的pid属性,怎么取。而且这个pid不是一个,是多个
也就是:((Plate) list.get(0)).getPid();
get(0)能取出一行记录。你只把plate对象查出来放到list里不行么?!~
试试,题目我没太看懂
>>>而且这个pid不是一个,是多个
你的那多个是如何保存在PID属性中的?是“pid1,pid2,pid3”这样的形式么?
elementData | object[10]
size = 2
点击开elementData
[0] Role_Plate (id=199)
[1] Role_Plate (id=200)
点击
[0]
id "2"
plate Plate$$EnhancerByCGLIB$$84e9a827_2 (id=209)
role UserMag_b_RightTeam$$EnhancerByCGLIB$$8b53f376_2 (id=210)
点击plate对象所有属性都是null
而且控制台报错
ERROR - could not initialize proxy - the owning Session was closed
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
public class Plate extends BaseModel {
private String pid;
private String name;。。
晕了,问题好像连锁反映
这个问题我以前好象也发过,解决办法有2个
1. 你把xml配置文件里的lazy设置成true.
2. 自己去封装下sessionFactory.creatSession()
for(int i=0;i<result.size();i++){
Object obj=(Object)result.get(i);
if(obj instanceof Plate){
//do something
}
if(obj instanceof Role){
//do something
}
}
<%
GetUserInfo ui = new GetUserInfo();
List li = ui.getAllInfo();
Iterator it = li.iterator();
while(it.hasNext()){
UserInfo uif = (UserInfo)it.next();
%>
<tr>
<td><%=uif.getID() %></td>
<td><%=uif.getName() %></td>
</tr>
<%
}
%>兄弟 希望对你有帮助
试试看 研究下