If I use this query in Postresql, it work.
select * from "Ignite"."street" where code = '01000001000001500'

If I use this query in in construction below, it work.
IgniteCache<String, Street> cache = ignite.cache("StreetCache");
System.out.println(cache.get("01000001000001500").getName());

If I use this query in in construction below, Schema "Ignite" not found; SQL
statement: at
org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:2138)
IgniteCache<String, Street> cache = ignite.cache("StreetCache");
SqlFieldsQuery sql = new SqlFieldsQuery("select * from \"Ignite\".\"street\"
where code = '01000001000001500'");
List<List&lt;?>> res = cache.query(new SqlFieldsQuery(sql)).getAll();

Config:


<beans ...>
        
        
        <bean id="KladrDataSource" 
class="org.postgresql.ds.PGPoolingDataSource">
                <property name="serverName" value="localhost"/>
                <property name="databaseName" value="Ignite"/>
                <property name="portNumber" value="5432"/>
                <property name="user" value="postgres"/>
                <property name="password" value="postgres"/>
        </bean>

        <bean class="org.apache.ignite.configuration.IgniteConfiguration">

                ...

                
                <property name="cacheConfiguration">
                        <list>

                                <bean 
class="org.apache.ignite.configuration.CacheConfiguration">
                                        <property name="name" 
value="StreetCache"/>
                                        <property name="cacheMode" 
value="PARTITIONED"/>
                                        <property name="atomicityMode" 
value="ATOMIC"/>

                                        
                                        <property name="cacheStoreFactory">
                                                <bean
class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory">
                                                        <property 
name="dataSourceBean" value="KladrDataSource"/>
                                                        <property 
name="dialect">
                                                                <bean
class="org.apache.ignite.cache.store.jdbc.dialect.BasicJdbcDialect"/>
                                                        </property>             
                                

                                                        
                                                        <property name="types">
                                                                <list>
                                                                        <bean 
class="org.apache.ignite.cache.store.jdbc.JdbcType">
                                                                                
<property name="cacheName" value="StreetCache"/>
                                                                                
<property name="keyType" value="java.lang.String"/>
                                                                                
<property name="valueType" value="ignite.cache.Street"/>
                                                                                
<property name="databaseSchema" value="&quot;Ignite&quot;"/>
                                                                                
<property name="databaseTable" value="&quot;street&quot;"/>
                                                                                
<property name="keyFields">
                                                                                
        <list>
                                                                                
                <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                                                
                        <constructor-arg>
                                                                                
                                <util:constant 
static-field="java.sql.Types.VARCHAR"/>
                                                                                
                        </constructor-arg>
                                                                                
                        <constructor-arg value="code"/>
                                                                                
                        <constructor-arg value="java.lang.String"/>
                                                                                
                        <constructor-arg value="code"/>
                                                                                
                </bean>
                                                                                
        </list>
                                                                                
</property>
                                                                                
<property name="valueFields">
                                                                                
        <list>
                                                                                
                <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField">
                                                                                
                        <constructor-arg>
                                                                                
                                <util:constant 
static-field="java.sql.Types.VARCHAR"/>
                                                                                
                        </constructor-arg>
                                                                                
                        <constructor-arg value="name"/>
                                                                                
                        <constructor-arg value="java.lang.String"/>
                                                                                
                        <constructor-arg value="name"/>
                                                                                
                </bean>
                                                                                
                ...
                                                                                
        </list>
                                                                                
</property>
                                                                        </bean> 
                                                                                
                        
                                                                </list>
                                                        </property>

                                                </bean>
                                        </property>

                                        <property name="readThrough" 
value="true"/>
                                        <property name="writeThrough" 
value="true"/>

                                        
                                        <property name="queryEntities">
                                                <list>
                                                        <bean 
class="org.apache.ignite.cache.QueryEntity">
                                                                <property 
name="keyType" value="java.lang.String"/>
                                                                <property 
name="valueType" value="ignite.cache.Street"/>
                                                                <property 
name="keyFieldName" value="code"/>
                                                                <property 
name="keyFields">
                                                                        <list>
                                                                                
<value>code</value>
                                                                        </list>
                                                                </property>     
                                                
                                                                <property 
name="fields">
                                                                        <map>
                                                                                
<entry key="code" value="java.lang.String"/>
                                                                                
<entry key="name" value="java.lang.String"/>
                                                                                
...
                                                                        </map>
                                                                </property>
                                                        </bean>
                                                </list>
                                        </property>     

                                </bean>                         
                        </list>
                </property>
        </bean>

</beans>



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to