Java 如何在hibernate和instance类中创建条件联接

Java 如何在hibernate和instance类中创建条件联接,java,hibernate,Java,Hibernate,我想从这个示例中询问如何在hibernate中创建条件联接。如何创建实例类 Criteria criteria = getCurrentSession().createCriteria(????.class); table POI { int poiID, string name, int regionID } table POIDetail { int id, string poiID, string description } 查询: s

我想从这个示例中询问如何在hibernate中创建条件联接。如何创建实例类

Criteria criteria = getCurrentSession().createCriteria(????.class);

table POI {
    int poiID,
    string name,
    int regionID
}

table POIDetail {
    int id,
    string poiID,
    string description
}
查询:

select a.poiID, a.name, b.description 
from POI a, POIDetail b 
where a.poiID = b.poiID and a.regionID = ?;
阶级

休眠条件:

public List<POIDetail> getPoiDetailByRegion(int regionID) {
    Criteria criteria = getCurrentSession().createCriteria(PoiDetail.class);
    criteria.createAlias("poi", "p");
    criteria.add(Restrictions.eq("p.regionId", regionId));
    return criteria.list();
}
public List getPoiDetailByRegion(int regionID){
Criteria=getCurrentSession().createCriteria(PoiDetail.class);
标准。createAlias(“poi”、“p”);
标准。添加(限制。等式(“p.regionId”,regionId));
返回条件。list();
}
所以您可以从POIDeail类中获取所有信息

public List<POIDetail> getPoiDetailByRegion(int regionID) {
    Criteria criteria = getCurrentSession().createCriteria(PoiDetail.class);
    criteria.createAlias("poi", "p");
    criteria.add(Restrictions.eq("p.regionId", regionId));
    return criteria.list();
}