0

EclipseLink/Examples/JPA/MappingSelectionCriteriaによると、OneToOne または OneToMany の関係でフィルタリングを行うことができます。そのためには、実装する必要がありますDescriptorCustomizer

私の質問は次のとおりです。この手法で条件付きフィルタリングを行うことはできますか?また、その方法は? つまり、言及されたリンクの例では、次のようなものを書くことができます

public class ConfigureBsFilter implements DescriptorCustomizer {

    public void customize(ClassDescriptor descriptor) throws Exception {
        OneToManyMapping mapping = (OneToManyMapping) descriptor
                .getMappingForAttributeName("bs");

        ExpressionBuilder eb = new ExpressionBuilder(mapping
                .getReferenceClass());
        Expression fkExp = eb.getField("A_ID").equal(eb.getParameter("A_ID"));
        Expression activeExp = eb.get("active").equal(true);

        mapping.setSelectionCriteria(fkExp.and(activeExp));
    }
}

しかし、式の場合はどうなりますか

Expression activeExp = eb.get("active").equal(true);

これ"active"は常にではありませんtrueが、何らかのパラメーターによって実行時に設定する必要があります。私はそれを行うことができますか?

4

1 に答える 1