diff --git a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java index a66fab364..8a27943a9 100644 --- a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java +++ b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java @@ -1,6 +1,7 @@ package pro.taskana.simplehistory.impl; import java.sql.SQLException; +import java.time.Instant; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Deque; @@ -15,6 +16,7 @@ import org.apache.ibatis.session.SqlSessionManager; import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.apache.ibatis.transaction.managed.ManagedTransactionFactory; +import org.apache.ibatis.type.JdbcType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -22,6 +24,8 @@ import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaRole; import pro.taskana.common.api.exceptions.NotAuthorizedException; +import pro.taskana.common.internal.persistence.InstantTypeHandler; +import pro.taskana.common.internal.persistence.MapTypeHandler; import pro.taskana.simplehistory.TaskanaHistoryEngine; import pro.taskana.simplehistory.impl.classification.ClassificationHistoryEventMapper; import pro.taskana.simplehistory.impl.classification.ClassificationHistoryQueryMapper; @@ -103,6 +107,11 @@ public class TaskanaHistoryEngineImpl implements TaskanaHistoryEngine { DEFAULT, this.transactionFactory, taskanaEngineConfiguration.getDatasource()); Configuration configuration = new Configuration(environment); + // register type handlers + configuration.getTypeHandlerRegistry().register(new MapTypeHandler()); + configuration.getTypeHandlerRegistry().register(Instant.class, new InstantTypeHandler()); + configuration.getTypeHandlerRegistry().register(JdbcType.TIMESTAMP, new InstantTypeHandler()); + // add mappers configuration.addMapper(TaskHistoryEventMapper.class); configuration.addMapper(TaskHistoryQueryMapper.class);