🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 7.2.2\. 一对一(one to one) _基于外键关联的单向一对一关联_和_单向多对一关联_几乎是一样的。唯一的不同就是单向一对一关联中的外键字段具有唯一性约束。 ``` <class name="Person"> <id name="id" column="personId"> <generator class="native"/> </id> <many-to-one name="address" column="addressId" unique="true" not-null="true"/> </class> <class name="Address"> <id name="id" column="addressId"> <generator class="native"/> </id> </class> ``` ``` create table Person ( personId bigint not null primary key, addressId bigint not null unique ) create table Address ( addressId bigint not null primary key ) ``` _基于主键关联的单向一对一关联_通常使用一个特定的id生成器。(请注意,在这个例子中我们掉换了关联的方向。) ``` <class name="Person"> <id name="id" column="personId"> <generator class="native"/> </id> </class> <class name="Address"> <id name="id" column="personId"> <generator class="foreign"> <param name="property">person</param> </generator> </id> <one-to-one name="person" constrained="true"/> </class> ``` ``` create table Person ( personId bigint not null primary key ) create table Address ( personId bigint not null primary key ) ```