Hi Sergey,
In my experience, Spring Repositories configuration stays minimalistic, and
one of two approaches is followed to create a schema in an underlying
storage engine.
The first approach is when we can execute schema initialization scripts
that will pre-create all SQL tables, indexes, etc. This approach works for
a relational database as well as Ignite. Once the schema is set, we can
start our Spring application with Repositories and other entities in place.
An Ignite caches/tables can also be pre-established via CacheConfiguration
with all required expiration policies and other parameters.
The second method is to let Spring Data initialize the schema dynamically
based on the configuration of your @Entity classes. That's probably what
you're suggesting to do by adding custom configuration parameters
to @Repositories. If we want to support this second dynamic approach, then
we should do this via @Entity classes and not through @Repositories. It
should be possible to introspect @Entity specific annotations and produce
DDL commands or CacheConfigurations that will create Ignite caches/tables
as soon as your Spring Data application starts.
Let me know if I miss anything.
-
Denis
On Wed, Jun 17, 2020 at 6:17 AM Sergey Moldachev <
[hidden email]>
wrote: