public function setProperties(array $properties)
    {
        foreach ($properties as $property => $value) {
            $method = sprintf('set%s', str_replace('_', '', $property));

            if (!method_exists($this, $method)) {
                 throw SchemaException::invalidColumnProperty($this->getName(), $property);
            }

            $this->$method($value);
        }
    }