public function calculateHash($recursive = false) {
        if (!$this->loaded) {
            $this->hash = null;
        } else {
            $key = $this->unique . implode (', ', $this->fields) . implode (', ', $this->hints);
            $this->hash = md5($key);
        }
    }