---
title: "Référence d'API — @nodefony/orm-core — decorators"
source: docs/api/orm-core/decorators.md
url: https://nodefony.github.io/nodefony-core/docs/api/orm-core/decorators/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/orm-core`](../) › decorators

> Générée depuis les déclarations de types publiées de `@nodefony/orm-core` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `@nodefony/orm-core`

`import { … } from "@nodefony/orm-core"` — 14 symboles.

### Fonctions (7)

#### `entities`

```ts
function entities(list: IEntityDefinition[] | IEntityDefinition, options?: EntitiesOptions): <T extends Constructor<Module>>(constructor: T) => T
```

Déclare les entités qu'un module apporte — l'équivalent de `@controllers([...])` pour la couche données.

#### `entity`

```ts
function entity<S = unknown>(options: EntityOptions<S>): <T extends DecoratedClass>(target: T) => T
```

Décore une classe comme entité multi-ORM et l'enregistre au chargement.

#### `getEntityMeta`

```ts
function getEntityMeta(target: DecoratedClass): EntityMetadata
```

Récupère la métadonnée `@entity` d'une classe, ou `undefined`.

#### `getRepositoryMeta`

```ts
function getRepositoryMeta(target: DecoratedClass): RepositoryMetadata
```

Récupère la métadonnée `@repository` d'une classe, ou `undefined`.

#### `hasEntityMeta`

```ts
function hasEntityMeta(target: DecoratedClass): boolean
```

Indique si une classe porte une métadonnée `@entity`.

#### `hasRepositoryMeta`

```ts
function hasRepositoryMeta(target: DecoratedClass): boolean
```

Indique si une classe porte une métadonnée `@repository`.

#### `repository`

```ts
function repository(name: string, options: RepositoryOptions): <T extends DecoratedClass>(target: T) => T
```

Décore une classe comme repository d'une entité (tag métadonnée pur).

### Constantes (1)

#### `DEFAULT_CONNECTOR`

```ts
const DEFAULT_CONNECTOR = "default"
```

Connecteur retenu quand ni l'entité ni le décorateur n'en nomment un.

### Interfaces (5)

#### `EntitiesOptions`

```ts
interface EntitiesOptions
```

Options du décorateur `entities`.

- `connector?: string` — Connexion nommée pour toutes les entités de la liste (défaut : `"default"`).

#### `EntityMetadata`

```ts
interface EntityMetadata<S = unknown>
```

Métadonnée attachée à une classe par `entity`.

- `readonly name: string` — Nom logique de l'entité (clé de lookup).
- `readonly connector: string` — Connexion nommée cible (clé du `ormRegistry`).
- `readonly module?: string` — Module Nodefony propriétaire (regroupement graphe/ERD), si fourni.
- `readonly domain?: string` — Classification (domaine fonctionnel), axe de regroupement distinct du module.
- `readonly schema?: S` — Schéma natif du driver (forme libre), si fourni au décorateur.
- `readonly relations?: ReadonlyArray<IEntityRelation>` — Relations déclaratives vers d'autres entités.
- `readonly target: DecoratedClass` — Constructeur décoré (pour introspection / résolution lazy par le driver).

#### `EntityOptions`

```ts
interface EntityOptions<S = unknown>
```

Options du décorateur `entity`.

- `connector: string` — Connexion nommée cible, telle que déclarée en config (ex.
- `name?: string` — Nom logique ; par défaut le nom de la classe décorée.
- `module?: string` — Module Nodefony propriétaire (ex.
- `domain?: string` — Classification (domaine fonctionnel) — axe de regroupement ERD distinct du `module`.
- `schema?: S` — Schéma natif du driver (schéma Mongoose, schéma Drizzle...).
- `relations?: ReadonlyArray<IEntityRelation>` — Relations déclaratives vers d'autres entités.

#### `RepositoryMetadata`

```ts
interface RepositoryMetadata
```

Métadonnée attachée à une classe par `repository`.

- `readonly name: string` — Nom logique du repository (clé DI, ex.
- `readonly entity: string` — Nom logique de l'entité gérée par ce repository.
- `readonly connector?: string` — Connecteur cible (lève l'ambiguïté si l'entité existe sur plusieurs connexions).
- `readonly target: DecoratedClass` — Constructeur décoré.

#### `RepositoryOptions`

```ts
interface RepositoryOptions
```

Options du décorateur `repository`.

- `entity: string` — Nom logique de l'entité gérée par ce repository.
- `connector?: string` — Connecteur cible — lève l'ambiguïté si l'entité existe sur plusieurs connexions.

### Types (1)

#### `DecoratedClass`

```ts
type DecoratedClass = new (...args: never[]) => object
```

Constructeur de classe ciblé par un décorateur orm-core (paramètres libres).

---

[← Toutes les références d'API](../../)
