---
lang: en
title: 'API docs: repository.hasonedefinition'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/strongloop/loopback-next/tree/master/packages/repository
permalink: /doc/en/lb4/apidocs.repository.hasonedefinition.html
---

<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@loopback/repository](./repository.md) &gt; [HasOneDefinition](./repository.hasonedefinition.md)

## HasOneDefinition interface

<b>Signature:</b>

```typescript
export interface HasOneDefinition extends RelationDefinitionBase 
```
<b>Extends:</b> [RelationDefinitionBase](./repository.relationdefinitionbase.md)

## Properties

|  Property | Type | Description |
|  --- | --- | --- |
|  [keyFrom](./repository.hasonedefinition.keyfrom.md) | string |  |
|  [keyTo](./repository.hasonedefinition.keyto.md) | string | keyTo: The foreign key used by the target model for this relation. keyFrom: The source key used by the source model for this relation.<!-- -->E.g. when a Customer has one Address instance, then keyTo is "customerId". Note that "customerId" is the default FK assumed by the framework, users can provide a custom FK name by setting "keyTo". And Customer.id is keyFrom. keyFrom defaults to the id property of a model. Users can provide a custom source key name by setting "keyTo". |
|  [targetsMany](./repository.hasonedefinition.targetsmany.md) | false |  |
|  [type](./repository.hasonedefinition.type.md) | [RelationType.hasOne](./repository.relationtype.hasone.md) |  |


