# InnerTableLink

class InnerTableLink<SID : Any, Source : Entity<SID>, ID : Any, Target : Entity<ID>>(val table: Table, sourceTable: IdTable<SID>, val target: EntityClass<ID, Target>, _sourceColumn: Column<EntityID<SID>>? = null, _targetColumn: Column<EntityID<ID>>? = null) : ReadWriteProperty<Source, SizedIterable<Target>>

Class responsible for implementing property delegates of the read-write properties involved in a many-to-many relation, which uses an intermediate (join) table.

#### Parameters

table

The intermediate table containing reference columns to both child and parent entities.

sourceTable

The IdTable associated with the source child entity.

target

The EntityClass for the target parent entity.

_sourceColumn

The intermediate table's reference column for the child entity class. If left `null`, this will be inferred from the provided intermediate table columns.

_targetColumn

The intermediate table's reference column for the parent entity class. If left `null`, this will be inferred from the provided intermediate table columns.

## Constructors

InnerTableLink
Link copied to clipboard
constructor(table: Table, sourceTable: IdTable<SID>, target: EntityClass<ID, Target>, _sourceColumn: Column<EntityID<SID>>? = null, _targetColumn: Column<EntityID<ID>>? = null)

## Properties

sourceColumn
Link copied to clipboard
val sourceColumn: Column<EntityID<SID>>

The reference identity column for the child entity class.

table
Link copied to clipboard
val table: Table
target
Link copied to clipboard
val target: EntityClass<ID, Target>
targetColumn
Link copied to clipboard
val targetColumn: Column<EntityID<ID>>

The reference identity column for the parent entity class.

## Functions

getValue
Link copied to clipboard
open operator override fun getValue(o: Source, unused: KProperty<*>): SizedIterable<Target>
orderBy
Link copied to clipboard
infix fun orderBy(order: Pair<Expression<*>, SortOrder>): InnerTableLink<SID, Source, ID, Target>

Modifies this reference to sort entities according to the specified order.

infix fun orderBy(order: List<Pair<Expression<*>, SortOrder>>): InnerTableLink<SID, Source, ID, Target>

Modifies this reference to sort entities based on multiple columns as specified in order.

infix fun orderBy(expression: Expression<*>): InnerTableLink<SID, Source, ID, Target>

Modifies this reference to sort entities by a column specified in expression using ascending order.

setValue
Link copied to clipboard
open operator override fun setValue(o: Source, unused: KProperty<*>, value: SizedIterable<Target>)