Interface EntityConnection.Select.Builder

Enclosing interface:
EntityConnection.Select

public static interface EntityConnection.Select.Builder
  • Method Details

    • orderBy

      Sets the OrderBy for this condition
      Parameters:
      orderBy - the OrderBy to use when applying this condition
      Returns:
      this builder instance
    • limit

      Parameters:
      limit - the LIMIT to use for this condition, null for no limit
      Returns:
      this builder instance
    • offset

      Parameters:
      offset - the OFFSET to use for this condition, null for no offset
      Returns:
      this builder instance
    • forUpdate

      Marks the Select instance as a FOR UPDATE query, this means the resulting rows will be locked by the given connection until unlocked by running another (non-select for update) query on the same connection or performing an update. Note that marking this Select instance as for update, sets the EntityConnection.Select.referenceDepth() to zero, which can then be modified by setting it after setting forUpdate.
      Returns:
      this builder instance
    • referenceDepth

      EntityConnection.Select.Builder referenceDepth(int referenceDepth)
      Limit the levels of foreign keys to fetch

      Warning: Using unlimited depth (-1) when the actual data contains circular references will cause infinite recursion and stack overflow errors. Self-referential foreign keys are safe with unlimited depth as long as the data forms a tree without cycles (e.g., hierarchical org charts).

      Parameters:
      referenceDepth - the foreign key reference depth limit, -1 for unlimited (use with caution)
      Returns:
      this builder instance
    • referenceDepth

      EntityConnection.Select.Builder referenceDepth(ForeignKey foreignKey, int referenceDepth)
      Returns the depth limit for a specific foreign key traversal. Caution: Unlimited depth (-1) can cause infinite recursion with self-referential or circular foreign key relationships. Use bounded depth for safety.
      Parameters:
      foreignKey - the foreign key
      referenceDepth - the number of levels of foreign key values to fetch for the given key
      Returns:
      this builder instance
    • attributes

      <T extends Attribute<?>> EntityConnection.Select.Builder attributes(T... attributes)
      Sets the attributes to include in the query result. An empty array means all attributes should be included. Note that primary key attribute values are always included.
      Type Parameters:
      T - the attribute type
      Parameters:
      attributes - the attributes to include
      Returns:
      this builder instance
    • attributes

      EntityConnection.Select.Builder attributes(Collection<? extends Attribute<?>> attributes)
      Sets the attributes to include in the query result. An empty Collection means all attributes should be included. Note that primary key attribute values are always included.
      Parameters:
      attributes - the attributes to include
      Returns:
      this builder instance
    • queryTimeout

      EntityConnection.Select.Builder queryTimeout(int queryTimeout)
      Parameters:
      queryTimeout - the query timeout, 0 for no timeout
      Returns:
      this builder instance
    • having

      The HAVING condition. Note that this condition must be based on aggregate function columns
      Parameters:
      having - the HAVING condition
      Returns:
      this builder instance
      See Also:
    • build

      Returns:
      a new EntityConnection.Select instance based on this builder