Dear Experts,
I need your advice on the most efficient method to implement. What I have, is a table with a checkbox column, to select the required records, and then extract these records. Here's my setup:
- A bounded task flow, containing a single default view activity, simply a *.jsff page.
- An SQL-based view object is created, with a transient attribute, let's call it "SelectRecord", for the sake of the discussion.
- View object is placed on the page as an ADF table, pagination enabled, with the transient, 'String' attribute "SelectRecord", in a checkbox column; it has the value "true" when the record is selected, "false" otherwise.
Now I need to obtain the selected records. I successfully implemented this using two methods:
1- created a view criteria, where: "SelectRecord" equals a bind variable "pIsSelected". This creates an ExecuteWithParam operation. I dragged this operation onto the page as a button, and set the value of the "pIsSelected" parameter to "true". This way, when I click this button, only the selected records will be retrieved.
2- Created an application module implementation class method; inside <AppModuleName>Imp.java class, named it "getSelectedRecords()", and exposed this method to be used as a data control (via client interface section on the application module "java" tab). This method is also dragged onto the page as a button.
In this method, I have used: Row[] selectedRows= MyViewObject.getFilteredRows("SelectRecord", "true");
Obviously, both methods function properly. But what I'm looking for is performance. You see, I am dealing with a record count of 3500+ records, and both of these methods are slow in execution, slow to the extent that:
a- Method (1) consumes 53 seconds.
b- Method (2) consumes 58 seconds.
Now some people might say this is normal due to the record count. but somehow I find it hard to digest. Is there a more efficient approach to achieve this? or probably I am missing something crucial?
Because I believe there's more to ADF than this performance issue, any suggestion is highly welcomed.
Best Regards,
Oracle JDeveloper 12c, version 12.1.3.0.0
Java jre 7, jdk1.7.0_45