hql查询方式 和 criteria 查询

来源:互联网 发布:xbox360淘宝 编辑:程序博客网 时间:2024/05/22 11:44
    public List<TrainUser> findByTrainPlanRegist(Long planId) {
//        Criteria criteria = this.getSession().createCriteria(TrainUser.class);
//        criteria.createAlias("appUser", "appUser");
//        criteria.createAlias("trainPlan", "trainPlan");
//        criteria.add(Restrictions.eq("trainPlan.id", planId)).add(Restrictions.eq("regist", TrainUser.REGIST));
//        return criteria.list();
        String hql="select tu from TrainUser tu JOIN fetch tu.appUser tuauJOIN fetch tu.trainPlan tutp where tu.trainPlan.id = ? and tu.regist = ?";
        Query query = this.getSession().createQuery(hql);
        query.setParameter(0, planId);
        query.setParameter(1, TrainUser.REGIST);
        List list = query.list();

        return list;

join fetch 才可以将对象中的对象属性插入对象

原创粉丝点击