How to write dynamic query in bonita studio bdm?

I have five filter fields in my application home page (dashboard → where I am showing all the records from h2 DB) now I want to filter the records on these fields basis.
It may require 31 (2^5 -1) queries, some are already provided as default queries.

Isn’t there a way to write a dynamic query in “custom queries” or somewhere to get the desired result at UI?

Things I have tried:

  • get all the records and apply javascript filters (not a good approach)
  • e.g. In query “findByFirstName” when retrieving records on the basis of firstName, I also pass
    " ‘firstNameHere’ AND = ‘something’ "
    this doesn’t work.

Hello,

I think you should define “custom queries” in the BDM, it is introduced in the documentation here .

Once created, a custom query can be executed using the default REST API .

HIH,

That’s easy…
But I want some dynamic query i.e. at runtime to build the query on the basis of some fields.
e.g. append AND clause with some other attribute.

P.S: can’t comment for now

Makes sense.

For a semi-dynamic query, parameters could be helpful.

But there is nothing to execute JPQL using default APIs. What you could do is to create a Bonita Command ( javadoc ) to extend the default Java API of Bonita and come with an implementation that would leverage the Business Data Service . Here is a Bonita architecture overview in case you want to learn a bit more about this.

Did you ever find a good solution to this? I’ve also reached this limitation and am unsure how to move forward.