Una mala práctica en la configuración de aplicaciones, es usar el owner del esquema para acceder a la base de datos.
Es recomendable crear una cuenta de usuario y otorgar los permisos necesarios y específicos.
Pongamos como ejemplo:
- ESQUEMA: REGIONALIZACION
- USUARIO: MSPRODUCTOSWOW
- PERMISOS:
-- Oracle
GRANT SELECT, INSERT, UPDATE
ON REGIONALIZACION.LGT_PROD_LOCAL_OFERTA_AUX
TO MSPRODUCTOSWOW
Empleando las anotaciones de Jakarta Persistence, definimos el mapping de nuestra Entity: name/schema.
import jakarta.persistence.*;
@Table(name = "LGT_PROD_LOCAL_OFERTA_AUX", schema = "REGIONALIZACION")
public record WOWProduct(@EmbeddedId WOWProductId id,
float porcDctoOferta,
LocalDateTime fecIniVigOferta,
LocalDateTime fecFinVigOferta,
String usuCreaProdLocOfe,
LocalDateTime fecCreaProdLocOfe) {
}
Nótese que podemos usar record, incluso para definir una llave compuesta.
@Embeddable
record WOWProductId(
@Column(name = "COD_GRUPO_CIA") String codGrupoCia,
@Column(name = "COD_LOCAL") String codLocal,
@Column(name = "COD_OFERTA") String codOferta,
@Column(name = "COD_PROD") String codProd) {
}
Ejecutamos nuestro proyecto basado en #Micronaut:
Documentación
https://micronaut-projects.github.io/micronaut-data/latest/guide/#sqlAnnotations
https://github.com/edgargs/mn-jdbc-schema
Top comments (0)