如何使用相关和独特的导水管ORM?
在我的代码中,我希望userapp是唯一的?如果我尝试放置@Column(unique: true),就会收到如下错误:
*“_Professional”上的关系“userapp”不能同时包含“列”和“关联”元数据。若要向关系添加用于索引或空值的标志,请参阅“Relate”的构造函数。
我的代码如下:
class Professional extends ManagedObject<_Professional> implements _Professional {}
class _Professional {
@primaryKey
int id;
@Relate(#professionals)
Userapp userapp;
@Column(defaultValue: 'true')
bool active;
ManagedSet<ProfessionalSpecialty> professionalSpecialties;
}发布于 2019-06-07 15:43:32
基于userapp的外键列是否唯一取决于反向关系属性。在这种情况下,逆是Userapp.professionals。
如果Userapp.professionals是Professional类型,则向userapp添加一个唯一的约束;这是一个“有-一”的关系。
如果Userapp.professionals是ManagedSet<Professional>类型,则不应用唯一的约束;这是一种“有-多”的关系。
我猜是因为您使用的是复数形式(professionals),所以您要声明一个ManagedSet<Professional>。更改_Userapp表定义中的声明,并确保_Professional中的逆匹配
class _Userapp {
...
Professional professional;
}
class _Professional {
...
@Relate(#professional)
Userapp userapp;
}https://stackoverflow.com/questions/56479598
复制相似问题