2011-12-10 7 views
0

多対1の関係のマッピングには問題があります。多対1の関係をマッピングすると、MappingExceptionが発生します。

情報:

  • 私は私のデータベーススキーマを生成しようとすると、私が手に例外がある:

    [教義\ ORM \マッピング\ MappingException]
    クラスMonkeyproof \ Uploaderbundle \エンティティ\ Folderは、有効なエンティティ またはマップされたスーパークラスではありません。

  • A GroupPermissionは

  • 私は
  • フォルダは、私は新しい関係を追加しました前に、それが正常に働いていたとして正しくマッピングされているエンティティ、のサブクラスであるXMLマッピングを使用しているフォルダを1つ持っています。ここで

私のマッピングファイルは、以下のとおりです。

GroupPermission.orm.xml:

<?xml version="1.0" encoding="utf-8"?> 

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping 
        http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> 

    <entity name="Monkeyproof\UploaderBundle\Entity\GroupPermission"> 

     <id name="id" type="integer" column="id"> 
      <generator strategy="AUTO"/> 
     </id> 

     <field name="permissionType" type="integer" nullable="false" /> 

     <many-to-one target-entity="Folder" field="folder" /> 
    </entity> 

</doctrine-mapping> 

Folder.orm.xml:私のGroupPermissionエンティティで

<?xml version="1.0" encoding="utf-8"?> 

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> 

<entity name="Monkeyproof\UploaderBundle\Entity\Folder" 
     repository-class="Monkeyproof\UploaderBundle\Repository\FolderRepository"> 

    <one-to-many target-entity="Entry" mapped-by="parentFolder" field="content"> 
     <cascade> 
      <cascade-persist/> 
      <cascade-remove/> 
     </cascade> 
    </one-to-many> 
</entity> 

/** 
* @var \Monkeyproof\UploaderBundle\Entity\Folder 
*/ 
protected $folder; 
+0

例外がスローされる場所(ファイル内)にはいくつかの可能性がありますか? – greg0ire

答えて

0
Class Monkeyproof\Uploaderbundle\Entity\Folder is not a valid entity or mapped super class. 

1)あなたはそれがかつて働いていたが、このエラーがときに発生することができることを述べたので、この可能性は低い)Monkeyproof \ Uploaderbundle \エンティティ\フォルダが

// Monkeyproof\Uploaderbundle\Entity\Folder 
/** 
* @ORM\Entity 
*/ 
class Folder {..} 

2すなわち実体であることを確認してください自動マッピングと明示的なemを使用していません。あなたは以下の設定をしていますか?

doctrine: 
    orm: 
     auto_generate_proxy_classes: %kernel.debug% 
     default_entity_manager: default 
     entity_managers: 
      default: 
       mappings: 
        MonkeyproofUploaderBundle: ~ 

3)最後に、使用している場合はapcを含むキャッシュがクリアされていることを確認してください。

関連する問題