Thanks for your reply. But my attributer id is String.

The code is:

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.ignite;

import java.sql.*;
import java.util.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cache.store.jdbc.*;
import org.apache.ignite.configuration.*;

/**
 * CacheConfig definition.
 *
 * Code generated by Apache Ignite Schema Import utility: 03/24/2016.
 */
public class CacheConfig {
    /**
     * Create JDBC type for testtable1.
     *
     * @param cacheName Cache name.
     * @return Configured JDBC type.
     */
    private static JdbcType jdbcTypeTesttable1(String cacheName) {
        JdbcType jdbcType = new JdbcType();

        jdbcType.setCacheName(cacheName);
        jdbcType.setDatabaseSchema("base");
        jdbcType.setDatabaseTable("testtable1");
        jdbcType.setKeyType("java.lang.String");
        jdbcType.setValueType("org.apache.ignite.Testtable1");

        // Key fields for testtable1.
        Collection<JdbcTypeField> keys = new ArrayList<>();
        keys.add(new JdbcTypeField(Types.VARCHAR, "id", String.class,
"id"));
        jdbcType.setKeyFields(keys.toArray(new JdbcTypeField[keys.size()]));

        // Value fields for testtable1.
        Collection<JdbcTypeField> vals = new ArrayList<>();
        vals.add(new JdbcTypeField(Types.VARCHAR, "id", String.class,
"id"));
        vals.add(new JdbcTypeField(Types.VARCHAR, "attribute1",
String.class, "attribute1"));
        vals.add(new JdbcTypeField(Types.VARCHAR, "attribute2",
String.class, "attribute2"));
        vals.add(new JdbcTypeField(Types.VARCHAR, "attribute3",
String.class, "attribute3"));
        jdbcType.setValueFields(vals.toArray(new
JdbcTypeField[vals.size()]));

        return jdbcType;
    }

    /**
     * Create SQL Query descriptor for testtable1.
     *
     * @return Configured query entity.
     */
    private static QueryEntity queryEntityTesttable1() {
        QueryEntity qryEntity = new QueryEntity();

        qryEntity.setKeyType("java.lang.String");
        qryEntity.setValueType("org.apache.ignite.Testtable1");

        // Query fields for testtable1.
        LinkedHashMap<String, String> fields = new LinkedHashMap<>();

        fields.put("id", "String");
        fields.put("attribute1", "String");
        fields.put("attribute2", "String");
        fields.put("attribute3", "String");

        qryEntity.setFields(fields);

        // Indexes for testtable1.
        Collection<QueryIndex> idxs = new ArrayList<>();

        idxs.add(new QueryIndex("id", true, "PRIMARY"));

        qryEntity.setIndexes(idxs);

        return qryEntity;
    }

    /**
     * Configure cache.
     *
     * @param cacheName Cache name.
     * @param storeFactory Cache store factory.
     * @return Cache configuration.
     */
    public static <K, V> CacheConfiguration<K, V> cache(String cacheName,
CacheJdbcPojoStoreFactory<K, V> storeFactory) {
        if (storeFactory == null)
             throw new IllegalArgumentException("Cache store factory cannot
be null.");

        CacheConfiguration<K, V> ccfg = new CacheConfiguration<>(cacheName);

        ccfg.setCacheStoreFactory(storeFactory);
        ccfg.setReadThrough(true);
        ccfg.setWriteThrough(true);

        // Configure JDBC types. 
        Collection<JdbcType> jdbcTypes = new ArrayList<>();

        jdbcTypes.add(jdbcTypeTesttable1(cacheName));

        storeFactory.setTypes(jdbcTypes.toArray(new
JdbcType[jdbcTypes.size()]));

        // Configure query entities. 
        Collection<QueryEntity> qryEntities = new ArrayList<>();

        qryEntities.add(queryEntityTesttable1());

        ccfg.setQueryEntities(qryEntities);

        return ccfg;
    }
}


/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.ignite;

import java.io.*;

/**
 * Testtable1 definition.
 *
 * Code generated by Apache Ignite Schema Import utility: 03/24/2016.
 */
public class Testtable1 implements Serializable {
    /** */
    private static final long serialVersionUID = 0L;

    /** Value for id. */
    private String id;

    /** Value for attribute1. */
    private String attribute1;

    /** Value for attribute2. */
    private String attribute2;

    /** Value for attribute3. */
    private String attribute3;

    /**
     * Empty constructor.
     */
    public Testtable1() {
        // No-op.
    }

    /**
     * Full constructor.
     */
    public Testtable1(
        String id,
        String attribute1,
        String attribute2,
        String attribute3
    ) {
        this.id = id;
        this.attribute1 = attribute1;
        this.attribute2 = attribute2;
        this.attribute3 = attribute3;
    }

    /**
     * Gets id.
     *
     * @return Value for id.
     */
    public String getId() {
        return id;
    }

    /**
     * Sets id.
     *
     * @param id New value for id.
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Gets attribute1.
     *
     * @return Value for attribute1.
     */
    public String getAttribute1() {
        return attribute1;
    }

    /**
     * Sets attribute1.
     *
     * @param attribute1 New value for attribute1.
     */
    public void setAttribute1(String attribute1) {
        this.attribute1 = attribute1;
    }

    /**
     * Gets attribute2.
     *
     * @return Value for attribute2.
     */
    public String getAttribute2() {
        return attribute2;
    }

    /**
     * Sets attribute2.
     *
     * @param attribute2 New value for attribute2.
     */
    public void setAttribute2(String attribute2) {
        this.attribute2 = attribute2;
    }

    /**
     * Gets attribute3.
     *
     * @return Value for attribute3.
     */
    public String getAttribute3() {
        return attribute3;
    }

    /**
     * Sets attribute3.
     *
     * @param attribute3 New value for attribute3.
     */
    public void setAttribute3(String attribute3) {
        this.attribute3 = attribute3;
    }

    /** {@inheritDoc} */
    @Override public boolean equals(Object o) {
        if (this == o)
            return true;

        if (!(o instanceof Testtable1))
            return false;

        Testtable1 that = (Testtable1)o;

        if (id != null ? !id.equals(that.id) : that.id != null)
            return false;

        if (attribute1 != null ? !attribute1.equals(that.attribute1) :
that.attribute1 != null)
            return false;

        if (attribute2 != null ? !attribute2.equals(that.attribute2) :
that.attribute2 != null)
            return false;

        if (attribute3 != null ? !attribute3.equals(that.attribute3) :
that.attribute3 != null)
            return false;

        return true;
    }

    /** {@inheritDoc} */
    @Override public int hashCode() {
        int res = id != null ? id.hashCode() : 0;

        res = 31 * res + (attribute1 != null ? attribute1.hashCode() : 0);

        res = 31 * res + (attribute2 != null ? attribute2.hashCode() : 0);

        res = 31 * res + (attribute3 != null ? attribute3.hashCode() : 0);

        return res;
    }

    /** {@inheritDoc} */
    @Override public String toString() {
        return "Testtable1 [id=" + id +
            ", attribute1=" + attribute1 +
            ", attribute2=" + attribute2 +
            ", attribute3=" + attribute3 +
            "]";
    }
}





--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/SqlQuery-Error-tp3658p3660.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to