diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java
index 41ea1f3cc76c337263b3cbb82896e6bb45dfb960..0c0299632ec70a93cabd1d8e4cc0be04cce4601f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java
@@ -41,6 +41,8 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance
 
     private final static Class<DatabaseInstancePE> ENTITY_CLASS = DatabaseInstancePE.class;
 
+    private static final String TABLE_NAME = ENTITY_CLASS.getSimpleName();
+
     /**
      * This logger does not output any SQL statement. If you want to do so, you had better set an
      * appropriate debugging level for class {@link JdbcAccessor}.
@@ -81,8 +83,8 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance
         final String columnName = isUUID ? "uuid" : "code";
         final List<DatabaseInstancePE> databaseInstances =
                 cast(getHibernateTemplate().find(
-                        String.format("from %s d where d." + columnName + " = ? ", ENTITY_CLASS
-                                .getSimpleName()), toArray(code)));
+                        String.format("from %s d where d." + columnName + " = ? ", TABLE_NAME),
+                        toArray(code)));
         return databaseInstances;
     }
 
@@ -94,9 +96,8 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance
     {
         final List<DatabaseInstancePE> list =
                 cast(getHibernateTemplate().find(
-                        String.format("from %s d where d.originalSource = ?", ENTITY_CLASS
-                                .getSimpleName()), new Object[]
-                            { true }));
+                        String.format("from %s d where d.originalSource = ?", TABLE_NAME),
+                        toArray(true)));
         return getEntity(list);
     }
 
@@ -157,8 +158,11 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance
     public final void createDatabaseInstance(final DatabaseInstancePE databaseInstance)
             throws DataAccessException
     {
-        databaseInstance.setCode(CodeConverter.tryToDatabase(databaseInstance.getCode()));
+        assert databaseInstance != null : "Unspecified database instance";
         databaseInstance.setUuid(UuidUtil.generateUUID());
+        validatePE(databaseInstance);
+
+        databaseInstance.setCode(CodeConverter.tryToDatabase(databaseInstance.getCode()));
         final HibernateTemplate template = getHibernateTemplate();
         template.save(databaseInstance);
         template.flush();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java
index 9b8fa6373984ac4e00835f7b2051d963bd029dec..905166154bf3e42f5c9571a2b4686b24c87f5773 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java
@@ -102,6 +102,7 @@ public final class PersonDAO extends AbstractDAO implements IPersonDAO
     public final PersonPE tryFindPersonByUserId(final String userId) throws DataAccessException
     {
         assert userId != null : "Unspecified user id";
+
         final List<PersonPE> persons =
                 cast(getHibernateTemplate().find(
                         String.format("from %s p where p.userId = ? "
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java
index 66ee5bcdcfb5e6a740512a05b6b7cff9d182149b..48b6da4c16d2553cb860df293fc0a5755400373a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java
@@ -58,6 +58,7 @@ final class PropertyTypeDAO extends AbstractDAO implements IPropertyTypeDAO
             throws DataAccessException
     {
         assert code != null : "Unspecified property type code";
+
         final List<PropertyTypePE> list =
                 cast(getHibernateTemplate().find(
                         String.format("select pt from %s pt where pt.simpleCode = ? "
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java
index c07333e19e3f17004b4b4b56896af45c21ab735e..2c963ae132bf50664dda2d6d75061c62cf7cfaa9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java
@@ -20,7 +20,6 @@ import java.util.List;
 
 import org.apache.log4j.Logger;
 import org.hibernate.SessionFactory;
-import org.hibernate.criterion.Criterion;
 import org.hibernate.criterion.DetachedCriteria;
 import org.hibernate.criterion.Restrictions;
 import org.springframework.jdbc.support.JdbcAccessor;
@@ -72,9 +71,10 @@ public final class RoleAssignmentDAO extends AbstractDAO implements IRoleAssignm
 
     public final List<RoleAssignmentPE> listRoleAssignmentsByPerson(final PersonPE person)
     {
-        final Criterion granteeEq = Restrictions.eq("personInternal", person);
+        assert person != null : "Unspecified person.";
+
         final DetachedCriteria criteria = DetachedCriteria.forClass(ENTITY_CLASS);
-        criteria.add(granteeEq);
+        criteria.add(Restrictions.eq("personInternal", person));
         final List<RoleAssignmentPE> list = cast(getHibernateTemplate().findByCriteria(criteria));
         if (operationLog.isDebugEnabled())
         {
@@ -100,6 +100,8 @@ public final class RoleAssignmentDAO extends AbstractDAO implements IRoleAssignm
 
     public final void deleteRoleAssignment(final RoleAssignmentPE roleAssignment)
     {
+        assert roleAssignment != null : "Role assignment unspecified";
+
         roleAssignment.getPerson().getRoleAssignments().remove(roleAssignment);
         getHibernateTemplate().delete(roleAssignment);
         if (operationLog.isInfoEnabled())
@@ -132,13 +134,14 @@ public final class RoleAssignmentDAO extends AbstractDAO implements IRoleAssignm
     public final RoleAssignmentPE tryFindInstanceRoleAssignment(final RoleCode role,
             final String person)
     {
-        List<RoleAssignmentPE> roles;
-        roles =
+        assert role != null : "Unspecified role.";
+        assert person != null : "Unspecified person.";
+
+        final List<RoleAssignmentPE> roles =
                 cast(getHibernateTemplate().find(
                         String.format("from %s r where r.personInternal.userId = ? "
                                 + "and r.role = ? and r.databaseInstance = ?", ENTITY_CLASS
-                                .getSimpleName()), new Object[]
-                            { person, role, getDatabaseInstance() }));
+                                .getSimpleName()), toArray(person, role, getDatabaseInstance())));
         final RoleAssignmentPE roleAssignment =
                 tryFindEntity(roles, "role_assignments", role, person);
         if (operationLog.isInfoEnabled())
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java
index 714afef402ba5259503cc580a895d0ef8cf25f56..69d8b102580e4fb614210cd44d6c2fdc16187777 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java
@@ -108,15 +108,16 @@ public class SampleDAO extends AbstractDAO implements ISampleDAO
     public final List<SamplePE> listSamplesByTypeAndGroup(final SampleTypePE sampleType,
             final GroupPE group) throws DataAccessException
     {
+        assert sampleType != null : "Unspecified sample type.";
+        assert group != null : "Unspecified group.";
+
         final Criteria criteria = createListSampleForTypeCriteria(sampleType);
         criteria.add(Restrictions.eq("group", group));
-
         final List<SamplePE> list = cast(criteria.list());
-
         if (operationLog.isDebugEnabled())
         {
             operationLog.debug(String.format(
-                    "%d samples have been found for sample type %s and group %s.", list.size(),
+                    "%d samples have been found for sample type '%s' and group '%s'.", list.size(),
                     sampleType, group));
         }
         return list;
@@ -125,16 +126,17 @@ public class SampleDAO extends AbstractDAO implements ISampleDAO
     public final List<SamplePE> listSamplesByTypeAndDatabaseInstance(final SampleTypePE sampleType,
             final DatabaseInstancePE databaseInstance)
     {
+        assert sampleType != null : "Unspecified sample type.";
+        assert databaseInstance != null : "Unspecified database instance.";
+
         final Criteria criteria = createListSampleForTypeCriteria(sampleType);
         criteria.add(Restrictions.eq("databaseInstance", databaseInstance));
-
         final List<SamplePE> list = cast(criteria.list());
-
         if (operationLog.isDebugEnabled())
         {
             operationLog.debug(String.format(
-                    "%d samples have been found for sample type %s and database instance %s.", list
-                            .size(), sampleType, databaseInstance));
+                    "%d samples have been found for sample type '%s' and database instance '%s'.",
+                    list.size(), sampleType, databaseInstance));
         }
         return list;
     }
@@ -179,6 +181,8 @@ public class SampleDAO extends AbstractDAO implements ISampleDAO
 
     public final List<SamplePE> listSamplesByGeneratedFrom(final SamplePE sample)
     {
+        assert sample != null : "Unspecified sample.";
+
         final HibernateTemplate hibernateTemplate = getHibernateTemplate();
         final String hql = String.format("from %s s where s.generatedFrom = ?", TABLE_NAME);
         final List<SamplePE> list = cast(hibernateTemplate.find(hql, toArray(sample)));