Interface TableGroup

    • Method Detail

      • getGroupAlias

        String getGroupAlias()
        If we want to use CTE for TableGroup rendering we will need to know the alias we can use for the group
      • getSourceAlias

        String getSourceAlias()
      • canUseInnerJoins

        boolean canUseInnerJoins()
      • isLateral

        default boolean isLateral()
      • prependTableGroupJoin

        void prependTableGroupJoin​(NavigablePath navigablePath,
                                   TableGroupJoin join)
        Adds the given table group join before a join as found via the given navigable path.
      • addNestedTableGroupJoin

        void addNestedTableGroupJoin​(TableGroupJoin join)
        A nested table group join is a join against a table group, that is ensured to be joined against the primary table reference and table reference joins in isolation, prior to doing other table group joins e.g. select * from entity1 e left join ( collection_table c1 join association a on a.id = c1.target_id ) on c1.entity_id = e.id and c1.key = 1 is modeled as TableGroup( primaryTableReference = TableReference(entity1, e), tableGroupJoins = [ TableGroupJoin( TableGroup( primaryTableReference = TableReference(collection_table, c1), nestedTableGroupJoins = [ TableGroupJoin( TableGroup( primaryTableReference = TableReference(association, a) ) ) ] ) ) ] ) This is necessary to correctly retain the cardinality of an HQL join like e.g. from Entity1 e left join e.collectionAssociation c on key(c) = 1
      • applyAffectedTableNames

        void applyAffectedTableNames​(Consumer<String> nameCollector)
      • applySqlSelections

        default void applySqlSelections​(DomainResultCreationState creationState)
        Description copied from interface: DomainResultProducer
        Used when this producer is a selection in a sub-query. The DomainResult is only needed for root query of a SELECT statement. This default impl assumes this producer is a true (Sql)Expression
        Specified by:
        applySqlSelections in interface DomainResultProducer
      • isRealTableGroup

        default boolean isRealTableGroup()
      • isFetched

        default boolean isFetched()
      • isInitialized

        default boolean isInitialized()
        If this is a lazy table group, it may report that it is not initialized, which would also mean that a join referring to this table group should not be rendered.