Composes a base relationship from an owner entity to a joining entity, with an attached relationship from the joining entity to a target relation, into a relationship from the owner entity to the target relation.
Composes a base relationship from an owner entity to a joining entity, with an attached relationship from the joining entity to a target relation, into a relationship from the owner entity to the target relation.
The owner entity's table type.
The joining entity's table type
The target relation's table type.
The owner entity's type.
The joining entity's type.
The target relation's type.
The owner entity's ID type.
The type of the functor containing target relation values that are retrieved from the database.
The type of the functor containing retrieved values for the base relationship.
The type of the functor containing retrieved values for the attached relationship.
A relationship composed with a 'to many' relationship, which acts as a 'to many' relationship.
A relationship composed with a 'to many' relationship, which acts as a 'to many' relationship.
Provides a default join condition for direct relationships.
Provides a default join condition for direct relationships.
Intended to be instantiated through implicit materialization by it's companion object.
The owner table's type.
The target table's type.
Base class for direct relationships (without a join-table).
Base class for direct relationships (without a join-table).
Base class for entities.
Base class for entities.
Extend this class with a case class to define an entity. Entities need to
be uniquely identifiable by an ID. Clients need to implement the id
member
The extending entity type itself (a self bound).
The ID type.
Base trait for entity action builders, which allow eager-loading includables onto entity queries.
Base trait for entity action builders, which allow eager-loading includables onto entity queries.
The entity's table type.
The entity's type.
The result container type (e.g. scala.Option, scala.Seq).
Used to build an action which will result in a collection of entities onto which the included includables will be eager-loaded.
Used to build an action which will result in a collection of entities onto which the included includables will be eager-loaded.
Adds a result
method to an entity collection action builder.
Adds a result
method to an entity collection action builder.
The result method was initially defined on the entity collection action
builder. However, this mean that when calling result
on plain Slick
queries, the conversion to an entity collection action builder took
priority over the conversion Slick defines.
The entity's table type.
The entity's type.
Base class for entity companion objects.
Base class for entity companion objects.
Extend this class with an object with the same name as the associated entity to define an entity companion object. Provides entity retrieval and persistance operations, as well as helpers for defining entity relationships.
The entity's table type.
The entity type.
The entity's ID type.
Used to build an action which will result in a single entity instance onto which the included includables will be eager-loaded.
Used to build an action which will result in a single entity instance onto which the included includables will be eager-loaded.
Repository class for managing the retrieval and persistence of entities.
Repository class for managing the retrieval and persistence of entities.
The entity's table type.
The entity type.
The entity's ID type.
Base class for entity tables.
Base class for entity tables.
Extend this class to define a table for an entity type. Entity tables
must define an ID column. Clients need to implement the id
member.
The entity type this table represents.
The entity's ID type.
Trait that can be mixed into a RelationshipRep for representing the value of a relationship that is already fetched into memory.
Trait that can be mixed into a RelationshipRep for representing the value of a relationship that is already fetched into memory.
The relationships target type.
Value container type (scala.Option, scala.Seq, ...)
Trait to allow including (eager-loading) related values on a query result.
Trait to allow including (eager-loading) related values on a query result.
The type of the table that owns the related values.
The type of the row that owns the related values.
Type alias for a relationship-value pair.
Type alias for a relationship-value pair.
Set of relationship-value pairs that can be included onto an entity instance.
Set of relationship-value pairs that can be included onto an entity instance.
Should be instantiated through its companion object.
The ower entity's type.
Can set a new set of included relationship values on an entity instance.
Can set a new set of included relationship values on an entity instance.
Intended to be instantiated through implicit materialization by it's companion object.
The type of the entity that owns the includes.
Provides a default join condition for indirect relationships.
Provides a default join condition for indirect relationships.
Intended to be instantiated through implicit materialization by it's companion object.
The owner table's type.
The join-table's type.
The target table's type.
Base class for indirect relationships (with a join-table).
Base class for indirect relationships (with a join-table).
The join-table's type.
Provides a default target query for indirect relationships.
Provides a default target query for indirect relationships.
Intended to be instantiated through implicit materialization by it's companion object.
The relationship's target table type.
The join-table's type.
The target table's entity type.
Represents the value of a 'to many' relationship for a specific owner instance.
Represents the value of a 'to many' relationship for a specific owner instance.
Represents a fetched (in memory) value of a 'to many' relationship for a specific owner instance.
Represents a fetched (in memory) value of a 'to many' relationship for a specific owner instance.
Represents a unfetched value of a 'to many' relationship for a specific owner instance.
Represents a unfetched value of a 'to many' relationship for a specific owner instance.
Represents the value of a 'to one' relationship for a specific owner instance.
Represents the value of a 'to one' relationship for a specific owner instance.
Represents a fetched value of a 'to one' relationship for a specific owner instance.
Represents a fetched value of a 'to one' relationship for a specific owner instance.
Represents an unfetched value of a 'to one' relationship for a specific owner instance.
Represents an unfetched value of a 'to one' relationship for a specific owner instance.
Represents a relationship between an owner entity and an owned relation.
Represents a relationship between an owner entity and an owned relation.
The owner entity's table type.
The target relation's table type.
The owner entity's type.
The owner entity's ID type.
The target relation's type.
The type of the functor containing target relation values that are retrieved from the database.
Represents the value of a relationship for a specific owner instance.
Represents the value of a relationship for a specific owner instance.
The owner entity's type.
The owner entity's ID type.
The relationship's target type.
Value container type (scala.Option, scala.Seq, ...)
Provides a table query for table T.
Provides a table query for table T.
Intended to be instantiated through implicit materialization by it's companion object.
Table type for which the table query is provided.
Element type of the table for which the table query is provided.
Represents a direct (without a join-table) 'to many' relationship.
Represents a direct (without a join-table) 'to many' relationship.
Implicitly adds the compose operation to 'to many' relationships whose target relation is itself an entity.
Implicitly adds the compose operation to 'to many' relationships whose target relation is itself an entity.
The relationship owner's table type.
The relationship target's table type.
The relationship owner's type.
The relationship target's type.
The relationship owner's ID type.
A 'to many' relationship composed with another relationship, which acts as a 'to many' relationship.
A 'to many' relationship composed with another relationship, which acts as a 'to many' relationship.
Provides a partial implementation of Relationship for 'to many' relationships.
Provides a partial implementation of Relationship for 'to many' relationships.
The owner entity's table type.
The target relation's table type.
The owner entity's type.
The owner entity's ID type.
The target relation's type.
Represents an indirect (with a join-table) 'to many' relationship.
Represents an indirect (with a join-table) 'to many' relationship.
Wraps a 'to many' relationship and one or more includes which will be eager-loaded onto any actions generated for this relationship.
Wraps a 'to many' relationship and one or more includes which will be eager-loaded onto any actions generated for this relationship.
Represents a direct (without a join-table) 'to one' relationship.
Represents a direct (without a join-table) 'to one' relationship.
Implicitly adds the compose operation to 'to one' relationships whose target relation is itself an entity.
Implicitly adds the compose operation to 'to one' relationships whose target relation is itself an entity.
The relationship owner's table type.
The relationship target's table type.
The relationship owner's type.
The relationship target's type.
The relationship owner's ID type.
A 'to one' relationship composed with a 'to one' relationship, which acts as a 'to one' relationship.
A 'to one' relationship composed with a 'to one' relationship, which acts as a 'to one' relationship.
Provides a partial implementation of Relationship for 'to one' relationships.
Provides a partial implementation of Relationship for 'to one' relationships.
The owner entity's table type.
The target relation's table type.
The owner entity's type.
The owner entity's ID type.
The target relation's type.
Represents an indirect (with a join-table) 'to one' relationship.
Represents an indirect (with a join-table) 'to one' relationship.
Wraps a 'to one' relationship and one or more includes which will be eager-loaded onto any actions generated for this relationship.
Wraps a 'to one' relationship and one or more includes which will be eager-loaded onto any actions generated for this relationship.
Trait that can be mixed into a RelationshipRep for representing the value of a relationship that has not yet been fetched into memory.
Trait that can be mixed into a RelationshipRep for representing the value of a relationship that has not yet been fetched into memory.
The relationships target type.
Value container type (scala.Option, scala.Seq, ...)
Base class for wrapping relationships.
Base class for wrapping relationships.
Converts relationship value representation into the related value it is representing.
Converts relationship value representation into the related value it is representing.
Converts relationship value representation into the related value it is representing, either by using the in-memory values for values that were already fetched, or executing a database query.
The represented entity's type.
The represented entity's ID type.
The relationship's target type.
The value container type.
The relationship value representation to be converted.
Database definition to be used for executing a query to retrieve unfetched values.
Execution context for running a database query.
The value represented by the relationship value representation.