With the exception of the Service Grid, it's not that these features are no
longer available. Rather, they are either configured differently or are no
longer relevant. For example, CacheAtomicityMode is no longer needed as all
tables are now transactional. Indeed, it supports SQL transactions, which
Ignite 2 couldn't do.

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

> Hello Stephen,
>
> Thanks for your reply, I am currently trying to adapt apache ignite 3.0.0
> with my spring application I notice some features are no longer available.
>
> Like these bellow:
>
>
>    - org.apache.ignite.services.Service;
>    - org.apache.ignite.services.ServiceContext;
>    - org.apache.ignite.configuration.CacheConfiguration;
>    - org.apache.ignite.cluster.ClusterNode;
>    - org.apache.ignite.lang.IgnitePredicate;
>    - import org.apache.ignite.cache.CacheAtomicityMode;
>    - import org.apache.ignite.cache.CacheMode;
>    - import org.apache.ignite.cache.CacheWriteSynchronizationMode;
>    - import org.apache.ignite.IgniteException;
>    - import org.apache.ignite.lifecycle.LifecycleBean;
>    - import org.apache.ignite.lifecycle.LifecycleEventType;
>    - import org.apache.ignite.events.Event;
>    - import org.apache.ignite.events.EventType;
>    - import org.apache.ignite.lang.IgnitePredicate;
>
>
> Best Regards | Com os melhores cumprimentos,
> João Lola
> ------------------------------
> *De:* Stephen Darlington <sdarling...@apache.org>
> *Enviado:* 22 de abril de 2025 10:28
> *Para:* user@ignite.apache.org <user@ignite.apache.org>
> *Assunto:* Re: Apache 2.X.X upgraded to 3.X.X
>
> 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