Orm 单点映射
我试图在条令中创建一个可选的OneToOne映射 我有一个包含所有城市和邮政编码的表(此表不应更改),还有一个包含地址和映射城市的表。但有时我不想在一开始就把城市添加到我的地址中(也许以后会)。但当我不向地址添加城市时,地址上的持久化会给我一个反射异常,因为没有像“null”这样的对象,它应该是de City对象 我不想每次都在数据库中添加一个空城市,因为不应该在city表中添加或删除任何内容 有什么建议吗?或者我错过了什么Orm 单点映射,orm,doctrine,mapping,one-to-one,Orm,Doctrine,Mapping,One To One,我试图在条令中创建一个可选的OneToOne映射 我有一个包含所有城市和邮政编码的表(此表不应更改),还有一个包含地址和映射城市的表。但有时我不想在一开始就把城市添加到我的地址中(也许以后会)。但当我不向地址添加城市时,地址上的持久化会给我一个反射异常,因为没有像“null”这样的对象,它应该是de City对象 我不想每次都在数据库中添加一个空城市,因为不应该在city表中添加或删除任何内容 有什么建议吗?或者我错过了什么 class Address{ /** * @OneToOne(tar
class Address{
/**
* @OneToOne(targetEntity="City")
* @JoinColumn(name="city_id", referencedColumnName="id")
*/
private $city = '';
我考虑过的可能解决方案:
- 在数据库中创建一个空城市对象,并将其始终分配给新创建的地址对象(可能会导致大量开销)
- 使用城市数组创建多城市关系,这样可以添加零个或多个城市(我可以限制Address对象中的多个城市),但我需要一个映射表
nullable=true
添加到@JoinColumn
注释中就可以实现多列联接(即@JoinColumns)。我尝试过,但没有任何运气…不幸的是,它生成了带有空参数的INSERT INTO查询,并导致错误:“INSERT INTO message_CONVERSION(title,lastMessage_id)VALUES(?)”,带有参数[43]
-缺少第二个参数(一对一)。它对我不起作用。我添加了nullable=true,但没有成功。是否有一对一的关系作为可选关系?