diff --git a/src/main/java/me/braydon/feather/database/impl/mongodb/MongoRepository.java b/src/main/java/me/braydon/feather/database/impl/mongodb/MongoRepository.java index bd3dac2..f6dcc49 100644 --- a/src/main/java/me/braydon/feather/database/impl/mongodb/MongoRepository.java +++ b/src/main/java/me/braydon/feather/database/impl/mongodb/MongoRepository.java @@ -99,7 +99,7 @@ public class MongoRepository extends Repository { List> updateModels = new ArrayList<>(); // The update models to bulk write for (E entity : entities) { - me.braydon.feather.data.Document document = new me.braydon.feather.data.Document<>(entity); // Create a document from the entity + me.braydon.feather.data.Document document = new me.braydon.feather.data.Document(entity); // Create a document from the entity Document bsonDocument; // The Bson document to save Method customDocumentMethod = Arrays.stream(entity.getClass().getDeclaredMethods()) @@ -178,7 +178,7 @@ public class MongoRepository extends Repository { */ @Override public void drop(@NonNull E entity) { - me.braydon.feather.data.Document document = new me.braydon.feather.data.Document<>(entity); // Create a document from the entity + me.braydon.feather.data.Document document = new me.braydon.feather.data.Document(entity); // Create a document from the entity collection.deleteOne(new Document(document.getIdKey(), document.getKey())); // Delete the entity } } \ No newline at end of file diff --git a/src/main/java/me/braydon/feather/database/impl/redis/RedisRepository.java b/src/main/java/me/braydon/feather/database/impl/redis/RedisRepository.java index fb256cf..9eca7ca 100644 --- a/src/main/java/me/braydon/feather/database/impl/redis/RedisRepository.java +++ b/src/main/java/me/braydon/feather/database/impl/redis/RedisRepository.java @@ -7,13 +7,13 @@ package me.braydon.feather.database.impl.redis; import io.lettuce.core.api.sync.RedisCommands; import lombok.NonNull; +import me.braydon.feather.common.Tuple; import me.braydon.feather.data.Document; import me.braydon.feather.database.Repository; import me.braydon.feather.database.impl.redis.annotation.TTL; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.lang.reflect.Field; +import java.util.*; /** * The {@link Redis} {@link Repository} implementation. @@ -79,9 +79,14 @@ public class RedisRepository extends Repository { commands.multi(); } for (E entity : entities) { // Set our entities - Document document = new Document<>(entity); // Create a document from the entity + Document document = new Document(entity); // Create a document from the entity String key = keyPrefix + ":" + document.getKey(); // The key of this entity - commands.hmset(key, document.toMappedData()); // Set the mapped document in the database + + Map mappedData = new HashMap<>(); + for (Map.Entry> entry : document.getMappedData().entrySet()) { + mappedData.put(entry.getKey(), String.valueOf(entry.getValue())); + } + commands.hmset(key, mappedData); // Set the mapped document in the database // Handling @TTL annotations Class clazz = entity.getClass(); // The entity class @@ -129,7 +134,7 @@ public class RedisRepository extends Repository { */ @Override public void drop(@NonNull E entity) { - me.braydon.feather.data.Document document = new me.braydon.feather.data.Document<>(entity); // Create a document from the entity + me.braydon.feather.data.Document document = new me.braydon.feather.data.Document(entity); // Create a document from the entity getDatabase().getBootstrap().sync().del(keyPrefix + ":" + document.getKey()); } } \ No newline at end of file