hibernate中三张一对多的关系表查询怎么写?我用criteria写了老是报错,告诉帮忙看看,解决后给高分

2025-04-27 13:00:52
推荐回答(2个)
回答1:

从最上面查下去
ResourcesBooking 把它设置成Criteria criteria = this.getSession().createCriteria(ResourcesBooking.class);

criteria.create("resources","r");

criteria.add(Restrictions.in("r.字段", “值”));

criteria.add("r.libraryBranches.字段",值");

这样就是三个关系了

回答2:

Criteria 换个思路以libraryBranches去查
举个例子
Class ResourcesBooking{
Integer id;
String bookingstartdate;
Set resources;
}

Class Resource{
Integer id;
String resourcesno;
ResourcesBooking rs;
Set libraryBranches;
}

Class LibraryBranche{
Integer id;
Resource rc;
String code;
}
String hql = “select ResourcesBooking from ResourcesBooking,Resource,LibraryBranche where ResourcesBooking.id = Resource.rs.id and Resource.id = LibraryBranche.rc.id and
ResourcesBooking.bookingstartdate = :0 and Resource.resourcesno = :1 and LibraryBranche.code = :2”;