Greetings, 1. Both key and value can be annotated with @Table, key will be processed first. Everything will be added to the resulting query. 2. Perhaps just need to rewrite an example to eliminate confusion. Effectively, there is no restriction on how to compose pojo, as it will be converted to a sql. 3. Planned rework api, including id/column ordering in IGNITE-22272
On Fri, May 17, 2024 at 1:05 PM Andrey Mashenkov <andrey.mashen...@gmail.com> wrote: > HI, > I have a few questions. > > Assume, a user creates table via key-value annotated classes: > ignite.catalog().create(PojoKey.class, PojoValue.class).execute(); > > 1. What is the difference between having @Table annotation on the > key class or on the value class? > When both classes are annotated, which one will have a priority or this > will cause an error? > > 2. Why do colocation columns belong to a value? They must be a part of the > key. > > 3. @Column and @Id annotations do not allow column order. This affects both > key-value api and record api approaches. > 3.1 SQL standard says that columns are ordered and the order is like was > defined in the CREATE TABLE clause. > It is a minor issue when we talk about value @columns, and we may have any > "default" order. > 3.2 But for keys of multiple columns that means the colocation columns > order is undefined. > This forces developers to use either order-independent hash function (e.g. > XOR-like) for hash index and sort columns somehow for sorted index. > Was it done intentionally and you are ok with such limitations or should > there be parity with builders API? > > > On Thu, May 16, 2024 at 10:41 AM Mikhail Pochatkin < > m.a.pochat...@gmail.com> > wrote: > > > Igniters, > > > > Please review the proposal [1] and let me know what you think > > > > [1] IEP-123: ORM API (Create tables from Java classes) - Apache Ignite - > > Apache Software Foundation > > < > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=307136999 > > > > > > > > -- > Best regards, > Andrey V. Mashenkov >