如何限制我的pojo列成为Ignite表的一部分

问题描述 投票:0回答:2

我有一个pojo,我用来创建点燃缓存。现在我想再向该pojo添加一列(XXX),并且不希望该列(XXX)成为点火缓存创建的一部分。

引发者:class 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_num“,”total_authorised_mny“,”version_num“,”bonus_count“,”customer_category“,”recovery_status“,”total_discounted_usage“,”external_balance_liid“,”total_online_discounted_mny“,”anti_event_disc_mny“,”total_partials_mny“, “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”,“last_online_event_dtm”,“fast_cache_seq”,“total_discounted_mny “smart_event_dtm”,“total_online_discounted_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)at org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.execute(CassandraSessionImpl.java:201) ... 12更多引起:com.datastax.driver.core.exceptions.InvalidQueryException:com.datastax处com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:50)中的未定义列名recovery_status。 drive.core.DriverThrowables.propagateCause(DriverThrowables.java:37)位于or.d.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl的com.datastax.driver.core.AbstractSession.prepare(AbstractSession.java:104)。 prepareStatement(CassandraSessionImpl.java:585)......还有13个

ignite cassandra-3.0
2个回答
1
投票

ignite采用getter和setter方法进行读写。

在该POJO中更改了此方法签名,而不是getXXX()和setXXX()

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

public Integer fetchRecovery_status(){return RECOVERY_STATUS; }


0
投票

如果您不想让字段最终在Ignite缓存中,您可以将其标记为transient

© www.soinside.com 2019 - 2024. All rights reserved.