@Override public <DB extends ODatabase> DB create() { setCurrentDatabaseinThreadLocal(); try { super.create(); level1Cache.startup(); getStorage().getConfiguration().update(); if (getStorage() instanceof OStorageEmbedded) { registerHook(new OUserTrigger()); registerHook(new OClassIndexManager()); } // CREATE THE DEFAULT SCHEMA WITH DEFAULT USER metadata = new OMetadata(); metadata.create(); user = getMetadata().getSecurity().getUser(OUser.ADMIN); } catch (Exception e) { throw new ODatabaseException("Cannot create database", e); } return (DB) this; }