0

休止状態の分離に条件を追加する方法があるかどうか疑問に思っていますか?

    Criterion creator;

             if(securityService.hasRole(RoleConstants.ROLE_CREATOR) {
                 creator = Restrictions.conjunction()
                 .add(Restrictions.eq("creator", this.userInfo.getUser()))
                 .add(Restrictions.eq("currentState.id", DatabaseConstants.STATE_DRAFT));
             }

    Criterion completeCondition = Restrictions.disjunction().add(creator)
                                                            .add(authorizer)
                                                            .add(assessor);

ありがとう

4

1 に答える 1

0

選言で条件を使用する方法を理解しました。

    Disjunction dis = Restrictions.disjunction(); 
            if(this.securityService.hasRole(RoleConstants.ROLE_AUTHORIZER)) {
                dis.add(Restrictions.eq("currentState.id", DatabaseConstants.STATE_AUTHORIZER_REVIEW));
            }

            if(this.securityService.hasRole(RoleConstants.ROLE_ASSIGNOR)) {
                dis.add(Restrictions.eq("currentState.id", DatabaseConstants.STATE_ASSIGNOR_REVIEW));
            }

            if(this.securityService.hasRole(RoleConstants.ROLE_ASSESSOR)) {
                dis.add(Restrictions.eq("currentState.id", DatabaseConstants.STATE_ASSESSOR_REVIEW));
            }

    Criteria criteriaStatic = this.session.createCriteria(PurchaseRequest.class)
            .add(Restrictions.isNull("authorizedArchiveDate"))    
            .add(dis);
于 2012-07-25T14:51:24.440 に答える