I have a strange problem where there is some table column showing blank value for a related entity attribute.
Let me explain using the Order and OrderLine scenario as below.
- Order entity has a one-to-many relationship to the OrderLine entity.
- Order entity has a related Customer entity which in turn have a related Party entity.
- Party entity has an instance name on the name attribute.
- Customer entity has an instance name on the party attribute.
I have a screen with a table of OrderLine entities with the following columns:
- Product of the OrderLine (product)
- Quantity of the OrderLine (quantity)
- Order number of the related Order (order.orderno)
- Date of the related Order (order.date)
- Customer of the related Order (order.customer)
The problem I have is that the table is showing blank in the Customer column.
I got the problem after upgrading from platform 6.3.6 to platform 6.4.0. In 6.3.6, there is no problem in the Customer column. I am at lost what is causing this. I have check the sql generated by eclipselink but it looks good and i could not find any problem at sql level.
Appreciate any help on the problem i’m having. Thanks.
Could you please create a small test project with this model reproducing the issue?
Greetings and hope you are well.
My issue described above is in a larger more complex application i have developed. I try to explain the issue using the Customer-Order-Ordeline example.
Anyway, i found that setting the fetch mode for the Customer attribute in the view to “Batch” has solved the problem. Previously, in platform 6.3.6 it was set to “Auto” mode and i didn’t experienced the problem.
I am wondering if there was any changes at the ORM layer from platform 6.3.x to 6.4 ? I am not sure if i should change the fetch mode in other views in my application. I’m concerned that something else in other parts of my application may break because of the change in the view behaviour after upgrading to 6.4.x, or to the latest 6.5.x platform.
Much appreciate any feedback.
I have created a test project that re-produces the problem.
Attached is the test project : Sales-Test is on original platform 6.3.6 and Sales-Test2 is on platform 6.4.0 after the upgrade.
The problem occurs in the display of the customer and salesperson columns in the Order Lines browser after upgrading to platform 6.4.0. The Order Lines browser is showing all blanks in the Customer’s name column (Party’s name) and the Salesperson’s name is showing the Customer’s name instead. In platform 6.3.6, both names are displayed correctly.
It seems that the sql data is retrieved correctly via the view in both cases but somehow the browser is showing the wrong display in platform 6.4.0.
I hope to find the reason to why this is happening so i can upgrade the platform without any further problem.
Thanks for any feedback / advise.
Thank you for the test project.
The problem is somehow related to the fact of joining the same table (Party) multiple times. I’ve created an issue and we’ll try to fix it ASAP. Meanwhile, you can work around it if you set BATCH fetch type for the order.customer attribute in orderLine-view (see the screenshot).
Thanks. Will wait for the fix.
The issue has been solved in the new platform 6.6.2 version.