【发布时间】:2017-06-24 06:47:03
【问题描述】:
我需要一些帮助 我对休眠有新的认识 我已经使用内部联接加入了三个表,它们都具有一对一的映射 我在列表中得到结果,但是,如何在该列表中迭代。我已经尝试使用迭代器,但没有任何帮助请帮助我这里是代码 sn-p。
@Entity
public class Laptop {
@Id
private int lid;
private String lname;
//getters and setter
@Entity
public class Validity{
@Id
private int lid;
private String validitydate;
//getters and setter
@Entity
public class Student {
@Id
private int lid;
private int rollno;
private String name;
private int marks;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="lid")
private Laptop laptop;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="lid")
private Validity validity;
//getters and setters
询问我正在解雇
String hql = "Select s from Student s inner join s.laptop left join
s.validity where s.lid = 1 and s.marks = 45";
Query query = session.createQuery(hql);
List<Object[]> list = query.list();
Iterator it = list.iterator();
Object[] obj = list.toArray();
while(it.hasNext())
{
Object ob = (Object)it.next();
Student s = (Student)ob;
System.out.println("Student id is "+s.getLid());
Laptop l = (Laptop)ob; // gives me error here cannot cast laptop to
student
System.out.println("laptop id is "+l.getLid());
System.out.println("laptop name is "+l.getLname());
}
【问题讨论】:
标签: hibernate join iterator hql one-to-one