我想加入两张桌子: T1:ID,姓名,电子邮件 T2:ID,地址
加入我这样做:
String hql="select sd.name,tt.name from T1 sd,T2 tt where sd.id=tt.id";
Query q=ss.createQuery(hql);
List l2=q.list();
Object o1=l2.get(0);
System.out.println("-----------");
System.out.println(o1.toString());
System.out.println("-----------");
返回对象但是没有得到如何检索值,因为返回的对象不是实体对象。
答案 0 :(得分:1)
每个结果都是一个Object Array。数组的大小是选择列
List l2=q.list();
Object[] o1=(Object[])l2.get(0);//The size is should be 2
System.out.println(o1[0]);
System.out.println(o1[1]);
答案 1 :(得分:0)
您必须将Object
中的List
转换为您的特定类型,Hibernate不知道该类型。请参阅What is the "proper" way to cast Hibernate Query.list() to List<Type>?和Hibernate query for selecting multiple values
答案 2 :(得分:0)
它将返回array
Object
List<Object[]> values= (List<Object[]>)q.list();
for(Object[] val: values){
....
//your specific type values
}
,您需要根据您的选择值(如姓名等)进行类型转换。
if($('.nav.nav-tabs li').length < 4 ){
答案 3 :(得分:0)
另一个选择是使用已连接的表创建视图,然后在该视图上创建hibernate实体