Class YdbTable<T extends tech.ydb.yoj.repository.db.Entity<T>>
java.lang.Object
tech.ydb.yoj.repository.ydb.table.YdbTable<T>
- All Implemented Interfaces:
tech.ydb.yoj.repository.db.Table<T>
public class YdbTable<T extends tech.ydb.yoj.repository.db.Entity<T>>
extends Object
implements tech.ydb.yoj.repository.db.Table<T>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interfaceNested classes/interfaces inherited from interface tech.ydb.yoj.repository.db.Table
tech.ydb.yoj.repository.db.Table.RecordViewId<T extends tech.ydb.yoj.repository.db.Entity<T>>, tech.ydb.yoj.repository.db.Table.View, tech.ydb.yoj.repository.db.Table.ViewId<T extends tech.ydb.yoj.repository.db.Entity<T>> -
Constructor Summary
ConstructorsModifierConstructorDescriptionYdbTable(Class<T> type, YdbTable.QueryExecutor executor) protectedYdbTable(YdbTable.QueryExecutor executor) -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends tech.ydb.yoj.repository.db.Entity<T>>
List<YqlStatementPart<? extends YqlStatementPart<?>>>buildStatementParts(String indexName, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit, Long offset) static <T extends tech.ydb.yoj.repository.db.Entity<T>>
List<YqlStatementPart<? extends YqlStatementPart<?>>>buildStatementParts(tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit, Long offset) voidbulkUpsert(List<T> input, tech.ydb.yoj.repository.db.bulk.BulkParams params) longlongcount(YqlStatementPart<?>... parts) longcountAll()voidvoid<V extends tech.ydb.yoj.repository.db.Table.View,K>
List<V>find(Class<V> viewType, String indexName, Set<K> keys, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit) <V extends tech.ydb.yoj.repository.db.Table.View>
List<V>find(Class<V> viewType, String indexName, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit, Long offset, boolean distinct) <V extends tech.ydb.yoj.repository.db.Table.View>
List<V>find(Class<V> viewType, Collection<? extends YqlStatementPart<?>> parts, boolean distinct) <V extends tech.ydb.yoj.repository.db.Table.View,ID extends tech.ydb.yoj.repository.db.Entity.Id<T>>
List<V><V extends tech.ydb.yoj.repository.db.Table.View,ID extends tech.ydb.yoj.repository.db.Entity.Id<T>>
List<V>find(Class<V> viewType, Set<ID> ids, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit) <V extends tech.ydb.yoj.repository.db.Table.View>
V<V extends tech.ydb.yoj.repository.db.Table.View,ID extends tech.ydb.yoj.repository.db.Entity.Id<T>>
List<V><V extends tech.ydb.yoj.repository.db.Table.View>
List<V>find(Class<V> viewType, YqlStatementPart<?> part, YqlStatementPart<?>... otherParts) find(String indexName, Set<K> keys, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit) find(String indexName, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit, Long offset) find(Collection<? extends YqlStatementPart<?>> parts) find(Set<ID> ids, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit) find(tech.ydb.yoj.repository.db.Range<ID> range) find(YqlStatementPart<?> part, YqlStatementPart<?>... otherParts) findAll()<V extends tech.ydb.yoj.repository.db.Table.View>
List<V>findIds(String indexName, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit, Long offset) findIds(tech.ydb.yoj.repository.db.Range<ID> range) findIds(YqlStatementPart<?> part, YqlStatementPart<?>... otherParts) findUncached(Set<ID> ids, tech.ydb.yoj.databind.expression.FilterExpression<T> filter, tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, Integer limit) tech.ydb.yoj.repository.db.cache.FirstLevelCache<ID extends tech.ydb.yoj.repository.db.Entity.Id<T>>
voidmigrate(ID id) Migrates the specified entity and its projections, if any.<V extends tech.ydb.yoj.repository.db.Table.ViewId<T>,ID extends tech.ydb.yoj.repository.db.Entity.Id<T>>
Stream<V>readTable(tech.ydb.yoj.repository.db.readtable.ReadTableParams<ID> params) readTableIds(tech.ydb.yoj.repository.db.readtable.ReadTableParams<ID> params) streamAll(int batchSize) Provides stream for all entities in a collection.view support forstreamAll(int)streamAllIds(int batchSize) streamPartial(ID partial, int batchSize) Provides stream for entities in a collection filtered by partial PK.<ID extends tech.ydb.yoj.repository.db.Entity.Id<T>,V extends tech.ydb.yoj.repository.db.Table.ViewId<T>>
Stream<V>streamPartial(Class<V> viewType, ID partial, int batchSize) view support forstreamPartial(Entity.Id, int)streamPartialIds(ID partial, int batchSize) voidupdate(tech.ydb.yoj.repository.db.Entity.Id<T> id, tech.ydb.yoj.repository.db.statement.Changeset changeset) <ID extends tech.ydb.yoj.repository.db.Entity.Id<T>>
voidupdateIn(Collection<ID> ids, tech.ydb.yoj.repository.db.statement.Changeset changeset) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tech.ydb.yoj.repository.db.Table
count, delete, delete, deleteAll, deleteAll, deleteIfExists, find, find, find, findOrDefault, generateAndSaveNew, getType, insert, insertAll, list, list, modifyIfPresent, postLoad, query, readTable, readTableIds, saveNewOrThrow, saveOrUpdate, toQueryBuilder, updateExistingOrThrow
-
Constructor Details
-
YdbTable
-
YdbTable
-
-
Method Details
-
findAll
-
streamAll
Provides stream for all entities in a collection. Makes mutliple queries if necessary, each selecting at most batchSize. batchSize should be small enough to ensure that batch does not exceed 40Mib -
streamAll
public <V extends tech.ydb.yoj.repository.db.Table.ViewId<T>> Stream<V> streamAll(Class<V> viewType, int batchSize) view support forstreamAll(int) -
streamPartial
public <ID extends tech.ydb.yoj.repository.db.Entity.Id<T>> Stream<T> streamPartial(ID partial, int batchSize) Provides stream for entities in a collection filtered by partial PK. Makes mutliple queries if necessary, each selecting at most batchSize. batchSize should be small enough to ensure that batch does not exceed 40Mib -
streamPartial
public <ID extends tech.ydb.yoj.repository.db.Entity.Id<T>,V extends tech.ydb.yoj.repository.db.Table.ViewId<T>> Stream<V> streamPartial(Class<V> viewType, ID partial, int batchSize) view support forstreamPartial(Entity.Id, int) -
streamAllIds
-
streamPartialIds
-
findAll
-
deleteAll
public void deleteAll() -
bulkUpsert
-
readTable
-
readTableIds
-
readTable
-
find
-
find
-
find
-
find
-
find
-
find
-
find
-
countAll
public long countAll() -
count
-
find
-
findIds
-
find
public <V extends tech.ydb.yoj.repository.db.Table.View> List<V> find(Class<V> viewType, @Nullable String indexName, @Nullable tech.ydb.yoj.databind.expression.FilterExpression<T> filter, @Nullable tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, @Nullable Integer limit, @Nullable Long offset, boolean distinct) -
find
-
findUncached
-
find
public <V extends tech.ydb.yoj.repository.db.Table.View,ID extends tech.ydb.yoj.repository.db.Entity.Id<T>> List<V> find(Class<V> viewType, Set<ID> ids, @Nullable tech.ydb.yoj.databind.expression.FilterExpression<T> filter, @Nullable tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, @Nullable Integer limit) -
find
-
find
-
buildStatementParts
public static <T extends tech.ydb.yoj.repository.db.Entity<T>> List<YqlStatementPart<? extends YqlStatementPart<?>>> buildStatementParts(@Nullable tech.ydb.yoj.databind.expression.FilterExpression<T> filter, @Nullable tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, @Nullable Integer limit, @Nullable Long offset) -
buildStatementParts
public static <T extends tech.ydb.yoj.repository.db.Entity<T>> List<YqlStatementPart<? extends YqlStatementPart<?>>> buildStatementParts(@Nullable String indexName, @Nullable tech.ydb.yoj.databind.expression.FilterExpression<T> filter, @Nullable tech.ydb.yoj.databind.expression.OrderExpression<T> orderBy, @Nullable Integer limit, @Nullable Long offset) -
count
-
find
public <V extends tech.ydb.yoj.repository.db.Table.View> List<V> find(Class<V> viewType, YqlStatementPart<?> part, YqlStatementPart<?>... otherParts) -
find
public <V extends tech.ydb.yoj.repository.db.Table.View> List<V> find(Class<V> viewType, Collection<? extends YqlStatementPart<?>> parts, boolean distinct) -
findIds
public <ID extends tech.ydb.yoj.repository.db.Entity.Id<T>> List<ID> findIds(YqlStatementPart<?> part, YqlStatementPart<?>... otherParts) -
findIds
-
findIds
-
update
public void update(tech.ydb.yoj.repository.db.Entity.Id<T> id, tech.ydb.yoj.repository.db.statement.Changeset changeset) -
insert
-
save
-
delete
-
migrate
Migrates the specified entity and its projections, if any. Does nothing if the entity does not exist.
If the entity has projections, itscreateProjections()method MUST NOT fail when called on a raw, non-post-loadedentity.- Type Parameters:
ID- entity ID type- Parameters:
id- entity ID
-
getFirstLevelCache
public tech.ydb.yoj.repository.db.cache.FirstLevelCache getFirstLevelCache() -
postLoad
-
updateIn
public <ID extends tech.ydb.yoj.repository.db.Entity.Id<T>> void updateIn(Collection<ID> ids, tech.ydb.yoj.repository.db.statement.Changeset changeset)
-