The most important thing to note here is that Prisma Client is not an ORM! [1]
Prisma doesn't map classes to tables as ORMs do and therefore doesn't suffer from the object-relational impedance mismatch. Prisma Client queries return plain old JS objects, which makes it really easy to reason about queries and returned data.
Prisma also has a query engine [2] that's implemented in Rust. This is being developed separately from the TS/JS layer above (so that in the future Prisma can support other languages as well).
Prisma also generally provides stronger type safety than TypeORM. For example, you get full type safety even for partial queries [3], you can find an example for what this looks like in this video [4].
Let me know if you have more questions about this :)
[1] https://www.prisma.io/docs/understand-prisma/prisma-in-your-...
[2] https://www.prisma.io/docs/reference/tools-and-interfaces/pr...
[3] https://www.prisma.io/docs/reference/tools-and-interfaces/pr...