2 Replies Latest reply on Jun 28, 2007 3:17 AM by maumau

    or in RESTRICTIONS

    maumau

      Hi there,

      Is there a way to "or" the RESTRICTIONS in an EntityQuery ?

      Not working example:

      RESTRICTIONS = {"(model.playerByBrandid = #{selectedPlayerFilter} or model.playerByManufid = #{selectedPlayerFilter})",} ;


      Thanks in advance,
      regards,

      Malte

        • 1. Re: or in RESTRICTIONS
          dan.j.allen

          This is indeed possible, just not in the obvious way. Let me present you with an example.

          <framework:entity-query
           name="contactQuery"
           ejbql="select from Contact">
           <framework:restrictions>
           <value>(lastName = #{nameFilter} or firstName = :el1)</value>
           </framework:restrictions>
          </framework:entity-query>
          


          Seam generates named parameters in the pattern "el" + 1-based index of the restriction. So you can repeat the value expression by using this name. I am not 100% sure that it starts at 1, because the code seems to leave room for earlier positional parameters, but in all my tests, it always starts with :el1. Of course, you continue on in the same manner. If you had another restriction, you would use :e2 in that value.

          • 2. Re: or in RESTRICTIONS
            maumau

            Thank you Dan,

            Your solution works like a charm and thank you to Seam that it indexes
            even the not used restrictions.

            Sincerely

            Malte