Hi Kenan,

You missed the main point - getters or setters of your custom classes should
be annotated with *@QuerySqlField* instead of class private members. Here is
a slightly modified version of your custom classes which should work:

================================== 
import org.apache.ignite.cache.affinity.AffinityKeyMapped;
import org.apache.ignite.cache.query.annotations.QuerySqlField;

public class HistoryResultKey {
    private String vin;

    private String sessionId;

    private String histName;

    public HistoryResultKey() {
        // No op.
    }

    public HistoryResultKey(final String vin, final String sessionId, final
String histName) {
        this.vin = vin;
        this.sessionId = sessionId;
        this.histName= histName;
    }

    @AffinityKeyMapped
    @QuerySqlField(index=true, groups={"historyResultPK"})
    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    @QuerySqlField(index=true, groups={"historyResultPK"},
name="session_id")
    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    @QuerySqlField(index=true, groups={"historyResultPK"}, name="hist_name")
    public String getHistName() {
        return histName;
    }

    public void setHistName(String histName) {
        this.histName= histName;
    }

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

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

        HistoryResultKey that = (HistoryResultKey)o;

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

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

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

        return true;
    }

    @Override
    public int hashCode() {
        int res = vin != null ? vin.hashCode() : 0;
        res = 31 * res + (sessionId != null ? sessionId.hashCode() : 0);
        res = 31 * res + (histName!= null ? histName.hashCode() : 0);
        return res;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("HistoryResultKey = [");
        sb.append("vin: ");
        sb.append(vin);
        sb.append(", sessionId: ");
        sb.append(sessionId);
        sb.append(", histName: ");
        sb.append(histName);
        sb.append("]");
        return sb.toString();
    }
}


================================== 
import org.apache.ignite.cache.query.annotations.QuerySqlField;
import org.apache.ignite.cache.query.annotations.QueryTextField;

import java.util.Date;

public class HistoryResult {
    private String vin;

    private String sessionId;

    private Date sessionTime;

    private String histName;

    private String results;

    private Date analysisTime;

    private Date createdDate;

    private String createdBy;

    private Date modifiedDate;

    private String modifiedBy;

    public HistoryResult() {
        // no op
    }

    public HistoryResult(final String vin, final String sessionId, final
Date sessionTime,
                         final String histName, final String results, final
Date analysisTime,
                         final Date createdDate, final String createdBy,
final Date modifiedDate,
                         final String modifiedBy) {
        this.vin = vin;
        this.sessionId = sessionId;
        this.sessionTime = sessionTime;
        this.histName= histName;
        this.results = results;
        this.analysisTime = analysisTime;
        this.createdDate = createdDate;
        this.createdBy = createdBy;
        this.modifiedDate = modifiedDate;
        this.modifiedBy = modifiedBy;
    }

    @QuerySqlField
    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    @QuerySqlField(name="session_id")
    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    @QuerySqlField(name="session_time")
    public Date getSessionTime() {
        return sessionTime;
    }

    public void setSessionTime(Date sessionTime) {
        this.sessionTime = sessionTime;
    }

    @QuerySqlField(name="hist_name")
    public String getHistName() {
        return histName;
    }

    public void setHistName(String histName) {
        this.histName= histName;
    }

    @QueryTextField
    public String getResults() {
        return results;
    }

    public void setResults(String results) {
        this.results = results;
    }

    @QuerySqlField(name="analysis_time")
    public Date getAnalysisTime() {
        return analysisTime;
    }

    public void setAnalysisTime(Date analysisTime) {
        this.analysisTime = analysisTime;
    }

    @QuerySqlField(name="created_dt")
    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    @QuerySqlField(name="created_by")
    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    @QuerySqlField(name="modified_dt")
    public Date getModifiedDate() {
        return modifiedDate;
    }

    public void setModifiedDate(Date modifiedDate) {
        this.modifiedDate = modifiedDate;
    }

    @QuerySqlField(name="modified_by")
    public String getModifiedBy() {
        return modifiedBy;
    }

    public void setModifiedBy(String modifiedBy) {
        this.modifiedBy = modifiedBy;
    }

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

        if (o == null)
            return false;

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

        HistoryResult that = (HistoryResult)o;

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

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

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

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

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

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

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

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

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

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

        return true;
    }

    @Override
    public int hashCode() {
        int res = vin != null ? vin.hashCode() : 0;
        res = 31 * res + (sessionId != null ? sessionId.hashCode() : 0);
        res = 31 * res + (sessionTime != null ? sessionTime.hashCode() : 0);
        res = 31 * res + (histName!= null ? histName.hashCode() : 0);
        res = 31 * res + (results != null ? results.hashCode() : 0);
        res = 31 * res + (analysisTime != null ? analysisTime.hashCode() :
0);
        res = 31 * res + (createdDate != null ? createdDate.hashCode() : 0);
        res = 31 * res + (createdBy != null ? createdBy.hashCode() : 0);
        res = 31 * res + (modifiedDate != null ? modifiedDate.hashCode() :
0);
        res = 31 * res + (modifiedBy != null ? modifiedBy.hashCode() : 0);
        return res;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("HistoryResult = [");
        sb.append("vin: ");
        sb.append(vin);
        sb.append(", sessionId: ");
        sb.append(sessionId);
        sb.append(", sessionTime: ");
        sb.append(sessionTime);
        sb.append(", histName: ");
        sb.append(histName);
        sb.append(", results: ");
        sb.append(results);
        sb.append(", analysisTime: ");
        sb.append(analysisTime);
        sb.append(", createdDate: ");
        sb.append(createdDate);
        sb.append(", createdBy: ");
        sb.append(createdBy);
        sb.append(", modifiedDate: ");
        sb.append(modifiedDate);
        sb.append(", modifiedBy: ");
        sb.append(modifiedBy);
        sb.append("]");
        return sb.toString();
    }
}


For these two classes you Cassandra persistence descriptor could be as
simple as:

*<persistence keyspace="mykeyspace" table="HistoryResult" ttl="2592000">
    <tableOptions>
        comment = 'Test table for Ignite/Cassandra connection'
        AND read_repair_chance = 0.2
    </tableOptions>

    <keyPersistence class="com.gm.model.HistoryResultKey" strategy="POJO"/>
    <valuePersistence class="com.gm.model.HistoryResult" strategy="POJO"/>
</persistence>*



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Ignite-with-Cassandra-questions-errors-tp9607p9909.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to