Entity not visible in table

Hi.

I have a running instance of an application, for which one of the entities do not show anymore in browser. Entity can be listed in entity inspector, it is not deleted nor invisible and of course the browser table has no filtering.
Do you have any idea of what that could be? I am totally puzzled.

Thanks a lot.

Update on the matter, an interesting thing.
If i set the display at 20 or 50 lines, only three entities are shown.
If i set display limit at 100 lines, the four entities are displayed.
So, it seems that there is a weird bug in the limit selection on my specific configuration, but can’t get to what that could be.

Any idea?

Hi,
I have met similar glitches in my experience. I am aware of two reasons:

  1. Sometimes you need to add “distinct” to your select JPQL statement:
    Queries with distinct - CUBA Platform. Developer’s Manual
    It may be necessary if you use one-to-many sub-collections of the target entity for filtering (in filter or access group constraints).

select distinct f from demo_Foo f

  1. There may be inconsistencies in your data model that lead to JPA framework removing duplicate rows in result set.
    For example: You have two entities: Driver and Vehicle. You think that relation between them is One-to-One (VEHICLE table has DRIVER_ID column).
    But in the database it happens that there are multiple Vehicle referencing the same Driver entity.
    When result set is loaded from the database, there will be duplicate Driver’s referencing different Vehicle entities, and duplicates will be stripped.

Such inconsistencies may be debugged by enabling EclipseLink SQL logging and investigating raw SQL:
https://doc.cuba-platform.com/manual-7.1/logging_useful_loggers.html

Let us know what was the reason in your case, it is curious.

Also it may be useful to put breakpoint here:
com.haulmont.cuba.core.app.RdbmsStore#executeQuery

and look how many entities are returned by the query.getResultList() call (the same amount as requested row-count or less than should be).

Hi.
Thanks for pointing to a test.
I added the breakpoint and indeed the returned entity count matches the displayed count. So at least it is not a display problem but instead located at db/orm level.
Query string is non-ambiguous and it just tries to retrieve all instances of a type, no filtering, no nothing. Also, maxResults corresponds to what user interface shows, firstResult is null , no bug there either.

Entity is a root. It has three many-to-many links and some fields.
I thought about the case you exposed and for now i believe it is not what is happening.I’ll still be thinking about it for a while and trying to imagine a way to validate that.