diff --git a/core/api/src/main/java/org/onosproject/net/intent/Key.java b/core/api/src/main/java/org/onosproject/net/intent/Key.java
index 18baafc..0344acb 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/Key.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/Key.java
@@ -28,7 +28,7 @@
  */
 // TODO maybe pull this up to utils
 @Beta
-public abstract class Key {
+public abstract class Key implements Comparable<Key> {
 
     //TODO consider making this a HashCode object (worry about performance)
     private final long hash;
@@ -117,6 +117,12 @@
                     Objects.equals(this.appId, other.appId) &&
                     Objects.equals(this.key, other.key);
         }
+
+        @Override
+        public int compareTo(Key o) {
+            StringKey sk = (StringKey) o;
+            return this.key.compareTo(sk.key);
+        }
     }
 
     private static final class LongKey extends Key {
@@ -157,6 +163,13 @@
                     this.key == other.key &&
                     Objects.equals(this.appId, other.appId);
         }
+
+        @Override
+        public int compareTo(Key o) {
+            Long myKey = key;
+            Long otherKey = ((LongKey) o).key;
+            return myKey.compareTo(otherKey);
+        }
     }
 }
 
diff --git a/core/store/dist/src/test/java/org/onosproject/store/intent/impl/PartitionManagerTest.java b/core/store/dist/src/test/java/org/onosproject/store/intent/impl/PartitionManagerTest.java
index 25e23d3..61d1937 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/intent/impl/PartitionManagerTest.java
+++ b/core/store/dist/src/test/java/org/onosproject/store/intent/impl/PartitionManagerTest.java
@@ -325,5 +325,11 @@
 
             return Objects.equals(this.hash(), that.hash());
         }
+
+        @Override
+        public int compareTo(Key o) {
+            Long thisHash = hash();
+            return thisHash.compareTo(o.hash());
+        }
     }
 }
