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? > >