首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OneToOne双向自引用关系,不创建第一列

OneToOne双向自引用关系,不创建第一列
EN

Stack Overflow用户
提问于 2014-11-12 03:47:27
回答 1查看 623关注 0票数 0

我正在尝试创建1:1双向自引用关系,如下所示:

代码语言:javascript
复制
class User extends AbstractUser implements UserInterface
{

    .....

    /**
     * @var User
     */
    private $binaryParent;

    /**
     * @var User
     */
    private $binaryChild;

    ....

    /**
     * @return User
     */
    public function getBinaryParent()
    {
        return $this->binaryParent;
    }

    /**
     * @param UserInterface $user
     * @return $this
     */
    public function setBinaryParent(UserInterface $user)
    {
        $this->binaryParent = $user;

        return $this;
    }

    /**
     * @return User
     */
    public function getBinaryChild()
    {
        return $this->binaryChild;
    }

    /**
     * @param UserInterface $user
     * @return $this
     */
    public function setBinaryChild(UserInterface $user)
    {
        $this->binaryChild = $user;

        return $this;
    }

    ....

}

下面是我的xml映射:

代码语言:javascript
复制
...

<one-to-one field="binaryParent" target-entity="SL\CoreBundle\Entity\User" mapped-by="binaryChild">
    <join-column name="binary_parent_id" referenced-column-name="id" />
</one-to-one>

<one-to-one field="binaryChild" target-entity="SL\CoreBundle\Entity\User" inversed-by="binaryParent">
    <join-column name="binary_child_id" referenced-column-name="id" />
</one-to-one>

....

更新数据库后,仅创建binary_child_id,而不创建binary_parent_id。这里出了什么问题?我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2014-11-12 09:04:40

两者都应该是反转的,因为它们都是两个独立的1:1关系。并且只有拥有方(已反转)才会创建它的列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26873222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档