public class SQLRepository<T, TId> extends SQLRepositoryCore implements Repository<T, TId>
Read-only, no-tracking repository over one mapped SQL table or view.
Direct repositories open one connection per execution. Repositories owned by an EntityManager borrow its lazily opened session connection, allowing transaction continuity without changing this public repository contract. Application values are always bound parameters and never concatenated into SQL text.
users = SQLRepository<User, Int>(configuration)
active = query:
from users user
where user.active| Modifier and Type | Member | Description |
|---|---|---|
| public readonly property | mappingmapping as SQLMapping<T, TId> |
Validated entity mapping resolved once at construction. |
| Modifier and Type | Member | Description |
|---|---|---|
| public | SQLRepositorySQLRepository(
configuration as SQLConfiguration,
mapping as SQLMapping<T, TId>,
session as SQLProviderSession,
tracker as SQLIdentityTracker,
catalog as SQLMappingCatalog
) |
Creates a repository borrowing one EntityManager SQL session. |
| public | SQLRepositorySQLRepository(configuration as SQLConfiguration) |
Creates a direct no-tracking repository with an inferred SQL mapping. |
| public | SQLRepositorySQLRepository(configuration as SQLConfiguration, mapping as SQLMapping<T, TId>) |
Creates a direct no-tracking repository with an explicit mapping. |
| Modifier and Type | Member | Description |
|---|---|---|
| public | asQueryasQuery() as Query<T> |
Returns a lazy identity query over this SQL repository. |
| public | countcount() as Long |
Returns the exact number of mapped source entities. |
| public | validateBeforeReadvalidateBeforeRead() as Repository<T, TId> |
Validates null and duplicate identities before subsequent reads. |