diff --git a/makefile b/makefile
index 2d412794c0ebfdac895365741bc702089a0caf68..5c0e6cdda534c34f9f34109a008feac1d79312dc 100644
--- a/makefile
+++ b/makefile
@@ -40,22 +40,25 @@ runserver: print-version
 run: compile
 	mvn exec:java@run
 
-run-debug: print-version jar
-	java -Xrunjdwp:transport=dt_socket,address=0.0.0.0:$(JPDA_PORT),server=y,suspend=n -Dcaosdb.debug=true -jar target/caosdb-server-$(CAOSDB_SERVER_VERSION)-jar-with-dependencies.jar
+run-debug: jar
+	java -Xrunjdwp:transport=dt_socket,address=0.0.0.0:$(JPDA_PORT),server=y,suspend=n -Dcaosdb.debug=true -jar target/caosdb-server.jar
 
-run-debug-single: print-version
-	java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$(JMX_PORT) -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Xrunjdwp:transport=dt_socket,address=0.0.0.0:$(JPDA_PORT),server=y,suspend=n -Dcaosdb.debug=true -jar target/caosdb-server-$(CAOSDB_SERVER_VERSION)-jar-with-dependencies.jar
+run-debug-single:
+	java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$(JMX_PORT) -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Xrunjdwp:transport=dt_socket,address=0.0.0.0:$(JPDA_PORT),server=y,suspend=n -Dcaosdb.debug=true -jar target/caosdb-server.jar
 
-run-single: print-version
-	java -jar target/caosdb-server-$(CAOSDB_SERVER_VERSION)-jar-with-dependencies.jar
+run-single:
+	java -jar target/caosdb-server.jar
 
 formatting:
 	mvn fmt:format
 	autopep8 -ari scripting/
 
 # Compile into a standalone jar file
-jar: easy-units
+jar: print-version easy-units
 	mvn package -DskipTests
+	@pushd target ; \
+		ln -s caosdb-server-$(CAOSDB_SERVER_VERSION)-jar-with-dependencies.jar caosdb-server.jar; \
+		popd
 
 antlr:
 	mvn antlr4:antlr4
diff --git a/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java b/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
index b601e68c6933518db2f579fa5ffcc7f46c28906f..e4b9c3c1e29c0092b24d2b88fac4f06991e666e5 100644
--- a/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
+++ b/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
@@ -26,7 +26,7 @@ import java.util.Date;
 import java.util.TimeZone;
 
 public class UTCTimeZoneShift extends TimeZone {
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = 6962096078347188058L;
   public static final int POSITIVE = 1;
   public static final int NEGATIVE = -1;
 
diff --git a/src/main/java/org/caosdb/server/CaosDBException.java b/src/main/java/org/caosdb/server/CaosDBException.java
index e01882bf815afbfb63ddd10a440167a41aa6f141..617dfdff95d17ffc15d24bdec2497902eab495a7 100644
--- a/src/main/java/org/caosdb/server/CaosDBException.java
+++ b/src/main/java/org/caosdb/server/CaosDBException.java
@@ -24,7 +24,7 @@ package org.caosdb.server;
 
 public class CaosDBException extends RuntimeException {
 
-  private static final long serialVersionUID = 5317733089121727021L;
+  private static final long serialVersionUID = -6679522664294087311L;
 
   public CaosDBException(final String string) {
     super(string);
diff --git a/src/main/java/org/caosdb/server/ServerProperties.java b/src/main/java/org/caosdb/server/ServerProperties.java
index d2f8e14dcbf66337bea28ef7276264c5b8dbf8f2..dd12add7f20de16d74b2cda907e543b7f5ddef16 100644
--- a/src/main/java/org/caosdb/server/ServerProperties.java
+++ b/src/main/java/org/caosdb/server/ServerProperties.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 
 public class ServerProperties extends Properties {
 
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = -6178774548807398071L;
   private static Logger logger = LoggerFactory.getLogger(ServerProperties.class.getName());
 
   public static final String KEY_FILE_SYSTEM_ROOT = "FILE_SYSTEM_ROOT";
diff --git a/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
index fcbf8c4343b89e7be797194b3ebf8d56276236da..97b6f9ee669b673f969e6856a5e23172327fb33e 100644
--- a/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
@@ -26,7 +26,7 @@ import org.apache.shiro.authc.AuthenticationToken;
 
 public class AnonymousAuthenticationToken implements AuthenticationToken {
 
-  private static final long serialVersionUID = 1424325396819592888L;
+  private static final long serialVersionUID = 3573372964529451961L;
   private static final AnonymousAuthenticationToken INSTANCE = new AnonymousAuthenticationToken();
   public static final Principal PRINCIPAL = new Principal("anonymous", "anonymous");
 
diff --git a/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
index bde27876d78f846e1ed4ca19b878705814a4e52a..f87dd0da71b5478c636476dac3041ced82035e27 100644
--- a/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
@@ -98,7 +98,7 @@ public class OneTimeAuthenticationToken extends SelfValidatingAuthenticationToke
         defaultIfNull(replaysTimeout, DEFAULT_REPLAYS_TIMEOUT_MS));
   }
 
-  private static final long serialVersionUID = -1072740888045267613L;
+  private static final long serialVersionUID = 6811668234440927543L;
 
   /**
    * Return consumed.
diff --git a/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java b/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
index 9455df70220074121505b7dac2af31bbb549a153..1d9343104a5ffea8f3d0db4eb0498ae210381f0a 100644
--- a/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
@@ -26,7 +26,7 @@ import org.apache.shiro.authc.AuthenticationToken;
 
 public class RealmUsernamePasswordToken implements AuthenticationToken {
 
-  private static final long serialVersionUID = -6314149707379428753L;
+  private static final long serialVersionUID = 1970181902441118122L;
   String realm;
   String username;
   String password;
diff --git a/src/main/java/org/caosdb/server/accessControl/Role.java b/src/main/java/org/caosdb/server/accessControl/Role.java
index e01f344cef248ae720975d29096ff363726a30f7..1a34b49974804ae202ceaf4044ff1f620eaa5d12 100644
--- a/src/main/java/org/caosdb/server/accessControl/Role.java
+++ b/src/main/java/org/caosdb/server/accessControl/Role.java
@@ -27,7 +27,7 @@ import org.jdom2.Element;
 
 public class Role implements Serializable {
 
-  private static final long serialVersionUID = -9212426446735375109L;
+  private static final long serialVersionUID = 8968219504349206982L;
   public String name = null;
   public String description = null;
 
diff --git a/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
index 4291c5f65ddd8cb413922bd6fc1993ed8068c662..1832563fb981b52da8c90168e7dae97d6dfbc487 100644
--- a/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
@@ -56,7 +56,7 @@ public abstract class SelfValidatingAuthenticationToken extends Principal
     implements AuthenticationToken {
 
   protected static final transient String PEPPER = Utils.getSecureFilename(32);
-  private static final long serialVersionUID = -7212039848895531161L;
+  private static final long serialVersionUID = -7469302791917310460L;
   // date is the token creation time, in ms since 1970
   protected final long date;
   // token validity duration
diff --git a/src/main/java/org/caosdb/server/accessControl/SessionToken.java b/src/main/java/org/caosdb/server/accessControl/SessionToken.java
index 5696af687dbc4130573fd27dc66547b88eab690d..760f119541918a153cf8d4ca452fa0f9b7adced0 100644
--- a/src/main/java/org/caosdb/server/accessControl/SessionToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/SessionToken.java
@@ -65,7 +65,7 @@ public class SessionToken extends SelfValidatingAuthenticationToken {
     super(principal, timeout, permissions, roles);
   }
 
-  private static final long serialVersionUID = 5887135104218573761L;
+  private static final long serialVersionUID = 3739602277654194951L;
 
   public static SessionToken parse(final Object[] array) {
     // array[0] is not used here, it was already consumed to determine the type of token.
diff --git a/src/main/java/org/caosdb/server/accessControl/UserSources.java b/src/main/java/org/caosdb/server/accessControl/UserSources.java
index 9e5663edbfe0a41f58d39362a369cda9773eaef1..8f69c8c5c86faea903a29049c3a604121b8951ad 100644
--- a/src/main/java/org/caosdb/server/accessControl/UserSources.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserSources.java
@@ -74,7 +74,7 @@ public class UserSources extends HashMap<String, UserSource> {
   public static final String KEY_REALMS = "realms";
   public static final String KEY_REALM_CLASS = "class";
 
-  private static final long serialVersionUID = 6782744064206400521L;
+  private static final long serialVersionUID = 256585362760388255L;
   private static final UserSource internalRealm = new InternalUserSource();
 
   private static UserSources instance = new UserSources();
diff --git a/src/main/java/org/caosdb/server/database/DatabaseMonitor.java b/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
index 77e913025dba9d65607f410049affbae1249d745..ed98d1d6d88e3e797ce022c0880640d9a9128a0d 100644
--- a/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
+++ b/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
@@ -53,7 +53,7 @@ import org.caosdb.server.utils.Releasable;
  */
 class WeakAccessSemaphore extends Semaphore implements Observable, Releasable {
 
-  private static final long serialVersionUID = 4999687434687029136L;
+  private static final long serialVersionUID = -262226321839837533L;
   private int acquired = 0; // how many thread have weak access
   Semaphore block = new Semaphore(1, true);
 
@@ -154,7 +154,7 @@ class WeakAccessSemaphore extends Semaphore implements Observable, Releasable {
  */
 class StrongAccessLock extends ReentrantLock implements Observable, Releasable {
 
-  private static final long serialVersionUID = 1918369324107546576L;
+  private static final long serialVersionUID = -262226321839837533L;
   private WeakAccessSemaphore wa = null;
   private Thread allocator = null;
   private Thread acquirer = null;
diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
index f8b0da3580d5bf3d9156f26cbc55434a6f0b5d99..83c334ac21fb929606144f84960966acde59df42 100644
--- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
@@ -23,7 +23,7 @@
 package org.caosdb.server.database.backend.implementation.MySQL;
 
 public class ConnectionException extends Exception {
-  private static final long serialVersionUID = 3581951559636079126L;
+  private static final long serialVersionUID = 6119424337789255870L;
 
   public ConnectionException(final Throwable t) {
     super(t);
diff --git a/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java b/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
index ab6e68602f31e1fef37dad7fbcb5059544ec1eb4..f282a355d64b583482512e550c7b4de6e6ed84ec 100644
--- a/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
@@ -28,5 +28,5 @@ public class EntityDoesNotExistException extends TransactionException {
     super((String) null);
   }
 
-  private static final long serialVersionUID = -3514226960430855290L;
+  private static final long serialVersionUID = -6674784560815319076L;
 }
diff --git a/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java b/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
index d4aa56e15ebad93aef00ba9faca460d2703211eb..b792cd45905133ff6a21c744b83781248a818b7f 100644
--- a/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
@@ -23,7 +23,7 @@
 package org.caosdb.server.database.exceptions;
 
 public class EntityWasNotUniqueException extends TransactionException {
-  private static final long serialVersionUID = -6520827199072001991L;
+  private static final long serialVersionUID = 5181653214330392866L;
 
   public EntityWasNotUniqueException() {
     super((String) null);
diff --git a/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java b/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
index 9bf259a1d8a5d2cd9aaa5e6bc1c475b17049d388..440c1e574289285313416ba39f4fbe403d9febfe 100644
--- a/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
@@ -32,5 +32,5 @@ public class IntegrityException extends TransactionException {
     super(t);
   }
 
-  private static final long serialVersionUID = 2897982417503972644L;
+  private static final long serialVersionUID = 8589937458368069183L;
 }
diff --git a/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java b/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
index f038da96264e177f89a84d0789f645283afdf46a..c99fcbbdd9b1043bf3477b552365943e0aae1a5c 100644
--- a/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
@@ -28,5 +28,5 @@ public class RolledBackException extends TransactionException {
     super(t);
   }
 
-  private static final long serialVersionUID = -5448737641962261951L;
+  private static final long serialVersionUID = 8452626730418231001L;
 }
diff --git a/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java b/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
index 08b68b1a23545aab50ac06ad122e403c1e9e09ec..ac76fe76afe9a29532071978efe47d132cb4aa9d 100644
--- a/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
@@ -24,7 +24,7 @@ package org.caosdb.server.database.exceptions;
 
 public class TransactionException extends RuntimeException {
 
-  private static final long serialVersionUID = -8623817359165387081L;
+  private static final long serialVersionUID = -187878233305807610L;
 
   public TransactionException(final String string) {
     super(string);
diff --git a/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
index e0c524ce38f5a587ec0fa9fb0dff41177b60266c..397a1f52201727d17b057dc92567893798b63cf5 100644
--- a/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
+++ b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
@@ -41,7 +41,7 @@ import org.caosdb.server.utils.ServerStat;
 import org.jdom2.Element;
 
 class Counter implements Serializable {
-  private static final long serialVersionUID = 8679355597595634790L;
+  private static final long serialVersionUID = -95212746021180579L;
   private int c;
 
   public Counter(int initial) {
@@ -58,7 +58,7 @@ class Counter implements Serializable {
 }
 
 class Timer implements Serializable {
-  private static final long serialVersionUID = 7895352555775799409L;
+  private static final long serialVersionUID = -95212746021180579L;
   private long c;
 
   public Timer(long initial) {
@@ -80,7 +80,7 @@ class Timer implements Serializable {
  * Measurement object knows nothing about other Measurement objects.
  */
 class Measurement implements Serializable {
-  private static final long serialVersionUID = -2429348657382168470L;
+  private static final long serialVersionUID = -95212746021180579L;
   private final Timer timer;
   private final Counter counter;
   private final String name;
@@ -130,7 +130,7 @@ class Measurement implements Serializable {
 
 class RootBenchmark extends TransactionBenchmark implements ServerStat {
 
-  private static final long serialVersionUID = 8070554107783826603L;
+  private static final long serialVersionUID = -95212746021180579L;
   private transient boolean synced = false;
   /**
    * Fetch old data (from before last shutdown) and fill it into this instance.
@@ -208,7 +208,7 @@ class RootBenchmark extends TransactionBenchmark implements ServerStat {
 
 class SubBenchmark extends TransactionBenchmark {
 
-  private static final long serialVersionUID = 323147917189195974L;
+  private static final long serialVersionUID = -95212746021180579L;
   private final String name;
 
   public SubBenchmark(String name) {
@@ -270,7 +270,7 @@ class JdomConverter {
  */
 public abstract class TransactionBenchmark implements Serializable {
 
-  private static final long serialVersionUID = -8916163825450491068L;
+  private static final long serialVersionUID = -95212746021180579L;
   private static final TransactionBenchmark rootService = new RootBenchmark().init();
   public final transient Logger logger = LogManager.getLogger(getClass());
   protected static final transient boolean isActive =
diff --git a/src/main/java/org/caosdb/server/database/proto/FlatProperty.java b/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
index 9728b378c7d25269519aa645b4e4b2dad982611d..b92d3def38d26f0f5f6cd6a0455d472b8f4f3ccb 100644
--- a/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
+++ b/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
@@ -26,7 +26,7 @@ import java.io.Serializable;
 
 public class FlatProperty implements Serializable {
 
-  private static final long serialVersionUID = -9154427080823222776L;
+  private static final long serialVersionUID = 6039288034435124195L;
   public Integer id = null;
   public String value = null;
   public String status = null;
diff --git a/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java b/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
index c8e68118dc5ae0f10e0099bdbff202c862451b59..31d589862cfd353a176880ea33e76327ec32ba6e 100644
--- a/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
@@ -27,7 +27,7 @@ import java.util.HashSet;
 
 public class ProtoGroup implements Serializable {
 
-  private static final long serialVersionUID = 1659901727564921926L;
+  private static final long serialVersionUID = 7647402460488051845L;
   public String name = null;
   public String description = null;
   public HashSet<String> users = null;
diff --git a/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java b/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
index c19341c75d36b24831c49a11b874176d2fbd108e..44acaa024513d3f4b8d89c3f59bda9baf9de3044 100644
--- a/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
@@ -27,7 +27,7 @@ import java.util.List;
 
 public class ProtoProperty implements Serializable {
 
-  private static final long serialVersionUID = 6797170359746385913L;
+  private static final long serialVersionUID = 7731301985162924975L;
   public List<FlatProperty> subProperties = null;
   public FlatProperty property = null;
 }
diff --git a/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java b/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
index 9ca424e2e0eed57dd004141472945956b9ae6c1d..dd5cdbebcda7dd2c5c7f9ca93be69972ecef0e2c 100644
--- a/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
@@ -41,7 +41,7 @@ public class ProtoTransactionLogMessage implements Serializable {
 
   public ProtoTransactionLogMessage() {}
 
-  private static final long serialVersionUID = 452072581780180334L;
+  private static final long serialVersionUID = -5856887517281480754L;
   public String transaction = null;
   public String realm;
   public String username = null;
diff --git a/src/main/java/org/caosdb/server/database/proto/ProtoUser.java b/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
index 6cee37e9d47d30a5b032603ef0344fed7b8fdd6f..cafa32d2580c8a09a97e1cd3ee48c2ec59a454cf 100644
--- a/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
@@ -30,7 +30,7 @@ public class ProtoUser implements Serializable {
 
   public ProtoUser() {}
 
-  private static final long serialVersionUID = 248172393585577797L;
+  private static final long serialVersionUID = -2704114543883567439L;
 
   public UserStatus status = null;
   public String name = null;
diff --git a/src/main/java/org/caosdb/server/database/proto/Rule.java b/src/main/java/org/caosdb/server/database/proto/Rule.java
index 4b710d23d68d03e3b9d6a80e87b192483238fd2e..3d25f7662052b5b59f45255218c1191cf011761e 100644
--- a/src/main/java/org/caosdb/server/database/proto/Rule.java
+++ b/src/main/java/org/caosdb/server/database/proto/Rule.java
@@ -27,7 +27,7 @@ import org.caosdb.server.jobs.core.Mode;
 
 public class Rule implements Serializable {
 
-  private static final long serialVersionUID = 7648532019937680150L;
+  private static final long serialVersionUID = 1122097540596265945L;
 
   public int domain = 0;
   public int entity = 0;
diff --git a/src/main/java/org/caosdb/server/database/proto/SparseEntity.java b/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
index da409f0abad989743a9065ed67bd46d4dd40791a..3d5a29c9c4a69670d49347864b7ed885e758192f 100644
--- a/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
@@ -30,7 +30,7 @@ package org.caosdb.server.database.proto;
  */
 public class SparseEntity extends VerySparseEntity {
 
-  private static final long serialVersionUID = 2603892933659461049L;
+  private static final long serialVersionUID = -560259468853956476L;
 
   public String collection = null;
   public String datatype = null;
diff --git a/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java b/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
index be999d998471d07de40e46e4032194cc252f7f99..26109760ecde53ea20405bd02095cd951818677d 100644
--- a/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
+++ b/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
@@ -5,7 +5,7 @@ import java.util.LinkedList;
 
 public class VersionHistoryItem implements Serializable {
 
-  private static final long serialVersionUID = 7855704308135158698L;
+  private static final long serialVersionUID = 6319362462701459355L;
   public String id = null;
   public LinkedList<String> parents = null;
   public Long seconds = null;
diff --git a/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java b/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
index 864cd129398fcbf205a25c50ca345c6f7a349d20..8f32bf52038a00275568688b016b830b19fba5f0 100644
--- a/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
@@ -33,7 +33,7 @@ import java.io.Serializable;
  */
 public class VerySparseEntity implements Serializable {
 
-  private static final long serialVersionUID = -5950583518110327486L;
+  private static final long serialVersionUID = 7370925076064714740L;
 
   public Integer id = null;
   public String name = null;
diff --git a/src/main/java/org/caosdb/server/entity/Message.java b/src/main/java/org/caosdb/server/entity/Message.java
index e79c5b6ec7eb314d2dc75ddf6efd795e746bacc9..743a2b62fa87570e0dbca05a1f279e6764920f0b 100644
--- a/src/main/java/org/caosdb/server/entity/Message.java
+++ b/src/main/java/org/caosdb/server/entity/Message.java
@@ -32,7 +32,7 @@ public class Message extends Exception implements Comparable<Message>, ToElement
   private final String description;
   private final String body;
 
-  private static final long serialVersionUID = -6527053191344766124L;
+  private static final long serialVersionUID = -3005017964769041935L;
 
   public enum MessageType {
     Warning,
diff --git a/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java b/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
index ae1d2e0da1fc024acbec82c5f89b18e213557fc2..31d79a6de6e9932b680b89b133363134cbdef4ef 100644
--- a/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
+++ b/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
@@ -29,5 +29,5 @@ public class NoSuchRoleException extends IllegalArgumentException {
   }
 
   /** */
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = -5647651111944453390L;
 }
diff --git a/src/main/java/org/caosdb/server/entity/container/Container.java b/src/main/java/org/caosdb/server/entity/container/Container.java
index 1f6f14dd172142b5098cb42c949cc780acd1cf67..dc38041abe24d5b5d2e55e7ae698e092848b34c2 100644
--- a/src/main/java/org/caosdb/server/entity/container/Container.java
+++ b/src/main/java/org/caosdb/server/entity/container/Container.java
@@ -29,7 +29,7 @@ import org.caosdb.server.entity.EntityInterface;
 
 public class Container<T extends EntityInterface> extends ArrayList<T> {
 
-  private static final long serialVersionUID = 8519435849678175750L;
+  private static final long serialVersionUID = 3588262226883926066L;
 
   /**
    * Return the entity with the matching id, if it can be found inside this Container, else null.
diff --git a/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java b/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
index 0c82642e9f69661c09b6a226880d0921da275a8a..b0c2f21ff3b0e0dd96e24f0ef042a29e843c54f0 100644
--- a/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
@@ -28,7 +28,7 @@ import org.caosdb.server.entity.DeleteEntity;
 
 public class DeleteContainer extends EntityByIdContainer {
 
-  private static final long serialVersionUID = 4113458285424498764L;
+  private static final long serialVersionUID = -1279198934417710461L;
 
   public DeleteContainer(
       final Subject user,
diff --git a/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java b/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
index 31cc6d41e754db1637ce0752bd219e576d3e6d05..466a93091e1a55d7f9d59c7d3a941058e4204a2e 100644
--- a/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
@@ -26,7 +26,7 @@ import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
 
 public abstract class EntityByIdContainer extends TransactionContainer {
-  private static final long serialVersionUID = 5826139073962173660L;
+  private static final long serialVersionUID = 7997517210502207523L;
 
   public EntityByIdContainer(
       final Subject user,
diff --git a/src/main/java/org/caosdb/server/entity/container/InsertContainer.java b/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
index b1b54710581b58c4b2153c5df956f14d4bdd3194..99128a8a56758e67ce1529785de0151b1fe624d4 100644
--- a/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
@@ -37,7 +37,7 @@ public class InsertContainer extends WritableContainer {
     super(user, timestamp, srid, flags);
   }
 
-  private static final long serialVersionUID = -5264959991145009088L;
+  private static final long serialVersionUID = 8896630069350477274L;
 
   @Override
   public void add(final Element entity) {
diff --git a/src/main/java/org/caosdb/server/entity/container/ParentContainer.java b/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
index 7e43d7e547187aae0480e6d3eb1851fab4793dc6..90c6078a47471712ac51448ac4aac3d05794f5a6 100644
--- a/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
@@ -38,7 +38,7 @@ public class ParentContainer extends Container<Parent> {
 
   static ToElementStrategy s = new ParentToElementStrategy();
 
-  private static final long serialVersionUID = 4624224975178041002L;
+  private static final long serialVersionUID = 3334236170549992385L;
 
   private final EntityInterface child;
 
diff --git a/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java b/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
index 074d231fb41471ee4d94f8cfb98ec598c6a4f643..f5cce963fa4611bbdebfacdb11f98497c2a68544 100644
--- a/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
@@ -43,7 +43,7 @@ public class PropertyContainer extends Container<Property> {
 
   private final ToElementStrategy s;
 
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = -8452118156168954326L;
 
   private final EntityInterface domain;
 
diff --git a/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java b/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
index 681aac89551ea5c8f450db00d29404283f99b4d9..3b847f1af9d9d642c2606820dc2993f00911ed06 100644
--- a/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
@@ -28,7 +28,7 @@ import org.caosdb.server.entity.RetrieveEntity;
 
 public class RetrieveContainer extends EntityByIdContainer {
 
-  private static final long serialVersionUID = 2962487090601702116L;
+  private static final long serialVersionUID = 4816050921531043503L;
 
   public RetrieveContainer(
       final Subject user,
diff --git a/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java b/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
index 5d7e79b202b0c4bf4fbc9550a1053a019fd58b01..18a7837df27b39efa92abb2b16943a3476dca9ec 100644
--- a/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
@@ -94,7 +94,7 @@ public class TransactionContainer extends Container<EntityInterface>
     return this.flags;
   }
 
-  private static final long serialVersionUID = 6344299811547235114L;
+  private static final long serialVersionUID = -6062911849319971397L;
 
   /**
    * @param element
diff --git a/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java b/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
index 578e422be12b85137bcf7707662217407abc7e00..1c2a807b7759ff680d30ed0f1f9f14d5952e98f8 100644
--- a/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
@@ -29,7 +29,7 @@ import org.jdom2.Element;
 
 public class UpdateContainer extends WritableContainer {
 
-  private static final long serialVersionUID = -4571405395722707413L;
+  private static final long serialVersionUID = 8489287672264669883L;
 
   public UpdateContainer(
       final Subject user,
diff --git a/src/main/java/org/caosdb/server/entity/container/WritableContainer.java b/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
index 1cebca67f33f281f10d8da52c90bf06b47785e5f..2f9148651c890a0e7188acb035bf8fc55609834b 100644
--- a/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
@@ -28,7 +28,7 @@ import org.caosdb.server.entity.FileProperties;
 import org.jdom2.Element;
 
 public abstract class WritableContainer extends TransactionContainer {
-  private static final long serialVersionUID = -4097777313518959519L;
+  private static final long serialVersionUID = 3011242254959617091L;
 
   public WritableContainer(
       final Subject user,
diff --git a/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java b/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
index 58217ca1882bd4ea25d92d8aeb482d846e3b94df..4f0e57a46155c51076d4a134c3559d0f773811a1 100644
--- a/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
+++ b/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
@@ -37,7 +37,7 @@ import org.restlet.util.Series;
 public class RequestErrorLogMessage implements Serializable {
 
   /** */
-  private static final long serialVersionUID = 4683559833384175003L;
+  private static final long serialVersionUID = 2798857225464412730L;
 
   public String request = null;
   public String response = null;
diff --git a/src/main/java/org/caosdb/server/permissions/CaosPermission.java b/src/main/java/org/caosdb/server/permissions/CaosPermission.java
index 73bc4d780043cbb6b61b68d033b2a039fcbd85f8..1b793bb27f6a14bcf7fd0c5f828c20b73f3d11e5 100644
--- a/src/main/java/org/caosdb/server/permissions/CaosPermission.java
+++ b/src/main/java/org/caosdb/server/permissions/CaosPermission.java
@@ -45,7 +45,7 @@ public class CaosPermission extends HashSet<PermissionRule> implements Permissio
     return ret;
   }
 
-  private static final long serialVersionUID = -2730907147406500598L;
+  private static final long serialVersionUID = 2136265443788256009L;
 
   @Override
   public boolean implies(final Permission p) {
diff --git a/src/main/java/org/caosdb/server/permissions/EntityPermission.java b/src/main/java/org/caosdb/server/permissions/EntityPermission.java
index 3a17db989196bfab516f8ea66654d1d6696f5150..1f84dce34a611f3b25bea5ddaab0d40c9723a280 100644
--- a/src/main/java/org/caosdb/server/permissions/EntityPermission.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityPermission.java
@@ -34,7 +34,7 @@ import org.jdom2.Element;
 
 public class EntityPermission extends Permission {
 
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = -8935713878537140286L;
   private static List<EntityPermission> instances = new ArrayList<>();
   private final int bitNumber;
 
diff --git a/src/main/java/org/caosdb/server/permissions/Permission.java b/src/main/java/org/caosdb/server/permissions/Permission.java
index 02c304199cc15063deb95bc2bfa105b9445a0890..44eee1c68a073c405233195aee491bcf10fcd38c 100644
--- a/src/main/java/org/caosdb/server/permissions/Permission.java
+++ b/src/main/java/org/caosdb/server/permissions/Permission.java
@@ -26,7 +26,7 @@ import org.apache.shiro.authz.permission.WildcardPermission;
 
 public class Permission extends WildcardPermission {
 
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = -7471830472441416012L;
 
   public static final org.apache.shiro.authz.Permission EDIT_PRIORITY_ACL =
       new Permission(
diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java
index c111a3a9d7771a96ae781a6c1330c491bfe7c4dc..c3873cf3b4ba2322373dde13f4dfd72e6a94c7e4 100644
--- a/src/main/java/org/caosdb/server/query/Query.java
+++ b/src/main/java/org/caosdb/server/query/Query.java
@@ -153,12 +153,12 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
     }
 
     /** */
-    private static final long serialVersionUID = 8984839198803429114L;
+    private static final long serialVersionUID = -7142620266283649346L;
   }
 
   public static class QueryException extends RuntimeException {
 
-    private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = -7142620266283649346L;
 
     public QueryException(final String string) {
       super(string);
diff --git a/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
index 1460eecde3283f0aab3f4e473ff35cd4d1096b54..c7ecd4deb76117474adc188c3f8a7d0f6064a3b8 100644
--- a/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
+++ b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
@@ -85,7 +85,7 @@ public abstract class AbstractCaosDBServerResource extends ServerResource {
   }
 
   public static class xmlNotWellFormedException extends Exception {
-    private static final long serialVersionUID = -6836378704013776849L;
+    private static final long serialVersionUID = 1716868119917270990L;
   }
 
   /**
diff --git a/src/main/java/org/caosdb/server/scripting/TimeoutException.java b/src/main/java/org/caosdb/server/scripting/TimeoutException.java
index 3eaa370893bc5baf9e643c7411f467e0421d277a..31b9b7e989989677653e5938cc6bd531878f5299 100644
--- a/src/main/java/org/caosdb/server/scripting/TimeoutException.java
+++ b/src/main/java/org/caosdb/server/scripting/TimeoutException.java
@@ -28,5 +28,5 @@ public class TimeoutException extends Exception {
     super(string);
   }
 
-  private static final long serialVersionUID = 4871406372815136756L;
+  private static final long serialVersionUID = 3609100971776091914L;
 }
diff --git a/src/main/java/org/caosdb/server/utils/ConfigurationException.java b/src/main/java/org/caosdb/server/utils/ConfigurationException.java
index 3c9e77149ce12bc6e6f663788cdf86fba72bed81..517c11677c73d9624b93df18fb5196e2f4578024 100644
--- a/src/main/java/org/caosdb/server/utils/ConfigurationException.java
+++ b/src/main/java/org/caosdb/server/utils/ConfigurationException.java
@@ -24,7 +24,7 @@ package org.caosdb.server.utils;
 
 public class ConfigurationException extends RuntimeException {
 
-  private static final long serialVersionUID = -8445574584694720914L;
+  private static final long serialVersionUID = -8973694831724941007L;
 
   public ConfigurationException(String reason) {
     super(reason);
diff --git a/src/main/java/org/caosdb/server/utils/HashException.java b/src/main/java/org/caosdb/server/utils/HashException.java
index 2140f6d4d780fc3849f45bde5a051e6ad4f0abe8..46c3ecc6fba5cceac03605f80f4154e8f6a97594 100644
--- a/src/main/java/org/caosdb/server/utils/HashException.java
+++ b/src/main/java/org/caosdb/server/utils/HashException.java
@@ -27,7 +27,7 @@ import org.caosdb.server.CaosDBException;
 public class HashException extends CaosDBException {
 
   /** */
-  private static final long serialVersionUID = 4842032786089373949L;
+  private static final long serialVersionUID = 5478908505951882613L;
 
   public HashException(final String string) {
     super(string);
diff --git a/src/main/java/org/caosdb/server/utils/HashNotReadyException.java b/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
index c3c7ccfd47ba0fa47dd9abb0a35fae18a913ed4f..7b52a92406d53f54ba11c257353c255bded46696 100644
--- a/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
+++ b/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
@@ -29,5 +29,5 @@ public class HashNotReadyException extends HashException {
   }
 
   /** */
-  private static final long serialVersionUID = 2389389859670664559L;
+  private static final long serialVersionUID = 7709720557931578533L;
 }
diff --git a/src/main/java/org/caosdb/server/utils/HashTimeoutException.java b/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
index 92e105a23cf1757102ff6ec9b80c76c3965ce9c8..4733ae5314d235cab9c7ee3e98400bd90483f277 100644
--- a/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
+++ b/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
@@ -29,5 +29,5 @@ public class HashTimeoutException extends HashException {
   }
 
   /** */
-  private static final long serialVersionUID = 1L;
+  private static final long serialVersionUID = -1616384952193042048L;
 }
diff --git a/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java b/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
index 950136aa0384221fcd214c0b090131adc0393c1a..ad643a0aade5e8285fa0aea7a92026995b9ccd61 100644
--- a/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
@@ -30,7 +30,7 @@ public class ActionNotAllowedException extends RuntimeException {
     this.action = action;
   }
 
-  private static final long serialVersionUID = -7723481489788838572L;
+  private static final long serialVersionUID = -4324962066954446942L;
 
   @Override
   public String getMessage() {
diff --git a/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java b/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
index 5984283d20d99d467114d537a3f30de7b0c0d6e3..8282e5dd7e7bea4368acf2c7e77b536fab301ad6 100644
--- a/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
@@ -28,5 +28,5 @@ public class MissingImplementationException extends Exception {
     super("The state `" + s.toString() + "` has no implementation.");
   }
 
-  private static final long serialVersionUID = -1844861392151564478L;
+  private static final long serialVersionUID = -1138551658177420875L;
 }
diff --git a/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java b/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
index db0576788423b419051cfca6c78115fbdaf808ce..3970f60e5cf6e86096b0992419b14350c43b42ee 100644
--- a/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
@@ -28,5 +28,5 @@ public class StateNotReachableException extends Exception {
     super("The state `" + s.toString() + "` is not reachable.");
   }
 
-  private static final long serialVersionUID = -162428821672960032L;
+  private static final long serialVersionUID = -1826791324169513493L;
 }
diff --git a/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java b/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
index 0b831dfb52afb412330783192845c1f2add7da93..f0547704e250db5c5088c5019a85974c2f4e6254 100644
--- a/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
@@ -24,7 +24,7 @@ package org.caosdb.server.utils.fsm;
 
 public class TransitionNotAllowedException extends Exception {
 
-  private static final long serialVersionUID = -7688041374190101361L;
+  private static final long serialVersionUID = -7236981582249457939L;
 
   public TransitionNotAllowedException(final State state, final Transition transition) {
     super(