本文介绍了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:
推荐答案
- 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 关联的拥有方是包含外键的表的实体.
来自教义文档:
这篇关于inversedBy 和mappedBy 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!