What is the difference between inversedBy and mappedBy?(inversedBy 和mappedBy 有什么区别?)
问题描述
我正在使用 Zend Framework 2 和 Doctrine 2 开发我的应用程序.
I am developing my application using Zend Framework 2 and Doctrine 2.
在写注解时,我无法理解 mappedBy
和 inversedBy
之间的区别.
While writting annotations, I am unable to understand the difference between mappedBy
and inversedBy
.
我应该什么时候使用mappedBy
?
我应该什么时候使用inversedBy
?
我什么时候不应该使用?
When should I use neither?
这是一个例子:
/**
*
* @ORMOneToOne(targetEntity="custModEntityPerson", mappedBy="customer")
* @ORMJoinColumn(name="personID", referencedColumnName="id")
*/
protected $person;
/**
*
* @ORMOneToOne(targetEntity="AuthEntityUser")
* @ORMJoinColumn(name="userID", referencedColumnName="id")
*/
protected $user;
/**
*
* @ORMManyToOne (targetEntity="custModEntityCompany", inversedBy="customer")
* @ORMJoinColumn (name="companyID", referencedColumnName="id")
*/
protected $company;
我进行了快速搜索并找到了以下内容,但我仍然感到困惑:
I did a quick search and found the following, but I am still confused:
- 示例 1
- 示例 2一个>
- 示例 3
推荐答案
- mappedBy 必须在(双向)关联的反面指定
- inversedBy 必须在(双向)关联的拥有方指定
- mappedBy has to be specified on the inversed side of a (bidirectional) association
- inversedBy has to be specified on the owning side of a (bidirectional) association
- ManyToOne 始终是双向关联的拥有方.
- OneToMany 始终是双向关联的反面.
- OneToOne 关联的拥有方是包含外键的表的实体.
来自教义文档:
参见 https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/unitofwork-associations.html
这篇关于inversedBy 和mappedBy 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:inversedBy 和mappedBy 有什么区别?


基础教程推荐
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 使用 PDO 转义列名 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01