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

Reply via email to