---
title: "JPA y Entidades: Creación de entidades y notificaciones a partir de un modelo JPA"
canonical: "https://onesaitplatform-es.refined.site/space/ruta/3864887303/JPA%20y%20Entidades%3A%20Creaci%C3%B3n%20de%20entidades%20y%20notificaciones%20a%20partir%20de%20un%20modelo%20JPA"
format: markdown
---
> Macro (toc)

> ℹ️ Disponible desde Release 5.2.0 de Onesait Platform

# Introducción

Tal y como se muestra en la [guía de desarrollador](https://onesaitplatform.atlassian.net/wiki/spaces/DOC/pages/2215907913/JPA+y+Entidades+OP+C+mo+usar+el+API+Java+para+trabajar+de+forma+transparente+con+Entidades), hemos incorporado una funcionalidad a la librería cliente Java que permite, a partir de un modelo de datos JPA, crear y actualizar entidades en base a dicha definición, además de poder lanzar notificaciones a la plataforma de manera muy sencilla.

De esta forma se puede trabajar de manera desacoplada con una base de datos externa y a la vez poder seguir usando la capacidades de plataforma, ya que ésta necesita de la existencia de las entidades en el sistema para funcionar.

> ℹ️ Esta librería es compatible con versiones superiores a Spring Boot 3.X.

# Anotaciones nativas Spring Boot

Esta funcionalidad incorpora las siguientes anotaciones nativas Spring Boot:

```
@OPEntity
```

A nivel de clase, entidad JPA sirve para identificar las entidades JPA que se van a crear y actualizar en plataforma de manera transparente.

![image](media://63f24922-b6d0-4fee-b541-99b1a7c8aad5)

![image](media://285b3749-226c-42aa-a39a-377f35e9cff2)

![image](media://11ec2f7f-4e25-499d-89f5-de438ee5ef77)

```
@OPValidateSchema
```

A nivel de argumento de método, sirve para verificar que los datos de una entidad se corresponden con el esquema JSON existente en plataforma. Ejemplo de uso: antes de una inserción.

![image](media://88a71fe3-2df1-43cd-a3a9-2b3eb31a19b0)


```
@OPNotifierOperation(ontology = "Message", operationType = OperationType.INSERT, async = true)
```

A nivel de método, sirve para lanzar notificaciones a plataforma y poder escuchar desde procesos del Flow Engine, Reglas de negocio, etc.

![image](media://59369a4c-6f30-4090-bdef-83b2318b1777)