如何在hibernate中从对象中检索数据

时间:2016-03-21 06:11:00

标签: java hibernate spring-mvc

我想加入两张桌子: 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("-----------");

返回对象但是没有得到如何检索值,因为返回的对象不是实体对象。

4 个答案:

答案 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实体