@Override
  protected RedisEntry retrieveEntry(
      PersistentEntity persistentEntity, final String family, Serializable key) {
    final String hashKey = getRedisKey(family, key);

    final List<String> props = persistentEntity.getPersistentPropertyNames();
    final String[] values = redisTemplate.hmget(hashKey, props.toArray(new String[props.size()]));
    if (entityDoesntExistForValues(values)) return null;
    RedisEntry entry = new RedisEntry(family);
    for (int i = 0; i < props.size(); i++) {
      entry.put(props.get(i), values[i]);
    }
    return entry;
  }
 @Override
 protected void updateEntry(PersistentEntity persistentEntity, Long key, RedisEntry nativeEntry) {
   String family = getFamily(persistentEntity, persistentEntity.getMapping());
   performInsertion(family, key, nativeEntry);
 }
 @Override
 public Family createMappedForm(PersistentEntity entity) {
   return new Family(keyspace, entity.getName());
 }