Me gustaría entender mejor cómo funciona ORM detrás de las cortinas y cómo puede transformar comandos y funciones en consultas para bases de datos relacionales y no relacionales y por qué es más seguro que simplemente consultar directamente desde la conexión de la base de datos en el backend.
Intenté buscar al respecto, pero solo encontré documentación y formas de usar ORM en sí mismo en lugar de lo que realmente hace cuando lo usas.-
En general, typeOrm usa algo llamado decoradores (lea más sobre decoradores en https://www.typescriptlang.org/docs/handbook/decorators.html ). Básicamente, no son más que una función, que puede acceder a la información variable con la que está anotada.
Por ejemplo: @Entity() , @PrimaryGeneratedColumn() y @Column() son funciones de decoración proporcionadas por la biblioteca TypeOrm.
Entonces, con la ayuda de estas funciones de Decorator, TypeOrm puede generar código optimizado y seguro para interactuar con su base de datos.
La inyección de SQL es un tipo de ataque muy famoso para los servidores que utilizan una base de datos SQL, por lo que es muy importante tener seguridad al escribir la consulta SQL. Necesitaría desinfectar manualmente los datos, que TypeOrm se encarga internamente. (Referencia: https://dev.to/yoshi_yoshi/typeorm-prevent-sql-injection-with-node-js-react-typescript-in-2021-1go4 )