Files
ebean/src/main/java/io/ebeaninternal/server/query/NativeSqlQueryPlanKey.java
T
Roland PramlandRob Bygrave 40f5596837 add missing @override (#975)
* no effective code change: add missing @override in "io.ebean.*" package
* no effective code change: add missing @override in "io.ebeaninternal.api.*" package
* no effective code change: add missing @override in "io.ebeaninternal.server.*" package
* no effective code change: add missing @override in "io.ebeaninternal.util.*" package
* no effective code change: add missing @override in "io.ebeanservice.*" package
* no effective code change: add missing @override in "src/test/java/"
2017-02-24 00:01:25 +13:00

45 lines
1006 B
Java

package io.ebeaninternal.server.query;
import io.ebeaninternal.api.CQueryPlanKey;
/**
* QueryPlanKey for native sql queries.
*/
public class NativeSqlQueryPlanKey implements CQueryPlanKey {
private final String sql;
public NativeSqlQueryPlanKey(String sql) {
this.sql = sql;
}
@Override
public String toString() {
return getPartialKey();
}
/**
* Return as a partial key. For rawSql hash the sql is part of the key and as such
* needs to be included in order to have a complete key. Typically the MD5 of the sql
* can be used as a short form proxy for the actual sql.
*/
@Override
public String getPartialKey() {
return hashCode() + "_n";
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
NativeSqlQueryPlanKey that = (NativeSqlQueryPlanKey) o;
return sql.equals(that.sql);
}
@Override
public int hashCode() {
return sql.hashCode();
}
}