Как ограничить столбец моего pojo, чтобы быть частью таблиц Ignite - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть pojo, который я использую для создания кэшей зажигания.Теперь я хочу добавить еще один столбец (XXX) к этому pojo и не хочу, чтобы этот столбец (XXX) был частью процесса создания кэша зажигания.

Причина: класс org.apache.ignite.IgniteException:Не удалось подготовить оператор Cassandra CQL: выберите «customer_ref», «tenant_id», «event_discount_id», «period_num», «domain_id», «event_source», «prod_group_id», «event_seq», «product_seq», «online_version_numised», «total_hor», «total_hor»"," version_num "," bonus_count "," customer_category "," recovery_status "," total_discounting_usage "," external_balance_liid "," total_online_discounting_mny "," anti_event_disc_mny "," total_onvent_disc_mny ", total_disc_pny«counter_usage», «total_partials_usage», «online_event_count», «event_count», «last_rated_dtm», «account_num», «dyn_alloc_charge_data», «anti_event_disc_usage», «total_usage», «anti_event_count_t___m_»"," latest_event_dtm "," total_online_discounting_usage "," carry_over_boo "," total_authorised_usage ", "total_otc_mny", "online_batch_info", "counter_resets", "total_bonus_award" от "smart". "custprodinvoicediscusage" где "customer_ref" =?и "tenant_id" =?и "event_discount_id" =?и "period_num" =?и "domain_id" =?и "event_source" =?и "prod_group_id" =?и "event_seq" =?и "product_seq" = ?;в org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.prepareStatement (CassandraSessionImpl.java:603) в org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.exjess: 201)... еще 12 Причины: com.datastax.driver.core.exceptions.InvalidQueryException: неопределенное имя столбца recovery_status в com.datastax.driver.core.exceptions.InvalidQueryException.copy (InvalidQueryException.java:50) в com.datastax.driver.core.DriverThrowables.propagateCause (DriverThrowables.java:37) в com.datastax.driver.core.AbstractSession.prepare (AbstractSession.java:104) в org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.prepareStatement (CassandraSessionImpl.java:585) ... еще 13

Ответы [ 2 ]

1 голос
/ 19 апреля 2019

ignite принимает метод получения и установки для чтения и записи.

Изменена подпись этого метода в этом POJO вместо getXXX () и setXXX ()

public void putRecovery_status (Integer RECOVERY_STATUS) {this.RECOVERY_STATUS = RECOVERY_STATUS; }

public Integer fetchRecovery_status () {return RECOVERY_STATUS; }

0 голосов
/ 18 апреля 2019

Если вы не хотите, чтобы поле попадало в кэш Ignite, вы можете пометить его transient.

...