What do you mean by "full spring support"? What functionality are you
looking for? Ignite 3 no longer uses Spring for its configuration.

On Tue, 22 Apr 2025 at 09:55, João Lola <joao.l...@hexa-consulting.pt>
wrote:

> Hello Raj,
>
> Thank you so much for explanation regarding this question.
>
> I have another question for you:
>
> Does apache ignite 3.0.0 have full spring support or will it have in the
> future? Because ignite-spring only goes up to 2.17.
>
> Best Regards | Com os melhores cumprimentos,
> João Lola
> ------------------------------
> *De:* Raj <rajkumar...@gmail.com>
> *Enviado:* 22 de abril de 2025 02:13
> *Para:* user@ignite.apache.org <user@ignite.apache.org>
> *Assunto:* Re: Apache 2.X.X upgraded to 3.X.X
>
> I do see the annotations supported in Ignite 3 in addition to the
> tabledescriptor builder API
>
>
> https://ignite.apache.org/docs/ignite3/latest/developers-guide/java-to-tables
>
> Please check @Table, @Column and other  annotations that are located in
> the org.apache.ignite.catalog.annotations package in order to migrate from
> Ignite 2 annotations.
>
>
> On Mon, Apr 21, 2025, 8:21 PM ypeng <yp...@t-online.de> wrote:
>
> In Apache Ignite 3.0.0, the `@QuerySqlField` annotation has indeed been
> removed as part of a major architectural overhaul. This significant
> change affects how you define queryable fields in your domain models.
>
> For Ignite 3.0.0, the recommended approach is to use the new Table API
> instead of annotations. In this new model, you define tables
> programmatically rather than using annotations on your Java classes.
>
> Here's how you can transition from the annotation-based approach to the
> new Table API:
>
> 1. Instead of annotating fields with `@QuerySqlField`, you'll now create
> table definitions using `TableDescriptor` and the fluent API.
>
> 2. Basic example of creating a table in Ignite 3.0.0:
>
> ```java
> TableDescriptor table = TableDescriptor.builder()
>      .name("MyTable")
>      .addColumn("id", ColumnType.INT32, true)  // primary key
>      .addColumn("name", ColumnType.STRING)
>      .addColumn("age", ColumnType.INT32)
>      .build();
>
> tables.createTable(table).get();
> ```
>
> 3. For working with the data, you'll use the Table API methods for CRUD
> operations rather than putting/getting annotated objects.
>
> The shift from 2.x to 3.0.0 is substantial and requires rethinking your
> data model approach. The new version moves away from the "object in the
> cache" model toward a more traditional table-based database approach.
>
> If you have a significant investment in the annotation-based approach
> and need to maintain compatibility, you might consider:
>
> 1. Staying on Ignite 2.x for the time being
> 2. Creating an abstraction layer in your code to isolate the
> Ignite-specific parts, making future migration easier
> 3. Gradually migrating components to use the new Table API while
> maintaining the old components on 2.x
>
> The Ignite 3.0 documentation provides comprehensive guidance on the new
> Table API and migration strategies from 2.x.
>
> João Lola:
> > I am currently using Apache Ignite 2.17.0 on a project I am working on,
> > I am interested in upgrading to 3.0.0. But I notice query annotations,
> > e.g @QuerySqlField are no longer available as of 3.0.0, so my question
> > is what can I use in 3.0.0 to replace it if available, if not what is
> > recommend to use instead?
>
>

Reply via email to