/** @override */
 protected function _getInsertColumnList()
 {
     $columns = parent::_getInsertColumnList();
     // Add discriminator column to the INSERT SQL
     $columns[] = $this->_class->discriminatorColumn['name'];
     return $columns;
 }
 /**
  * {@inheritdoc}
  */
 protected function _prepareInsertData($entity)
 {
     $data = parent::_prepareInsertData($entity);
     // Populate the discriminator column
     $discColumn = $this->_class->discriminatorColumn;
     $this->_columnTypes[$discColumn['name']] = $discColumn['type'];
     $data[$this->_getDiscriminatorColumnTableName()][$discColumn['name']] = $this->_class->discriminatorValue;
     return $data;
 }
 /**
  * {@inheritdoc}
  *
  * @override
  */
 protected function _prepareData($entity, array &$result, $isInsert = false)
 {
     parent::_prepareData($entity, $result, $isInsert);
     // Populate the discriminator column
     if ($isInsert) {
         $discColumn = $this->_class->discriminatorColumn;
         $rootClass = $this->_em->getClassMetadata($this->_class->rootEntityName);
         $result[$rootClass->primaryTable['name']][$discColumn['name']] = $this->_class->discriminatorValue;
     }
 }
 /** @override */
 protected function _getInsertColumnList()
 {
     $columns = parent::_getInsertColumnList();
     // Add discriminator column to the INSERT SQL
     $columns[] = $this->_class->getQuotedDiscriminatorColumnName($this->_platform);
     return $columns;
 }