Exposed VS Prisma

Compare Exposed vs Prisma and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Exposed Prisma
28 442
7,879 37,151
1.2% 2.0%
9.5 9.9
3 days ago 7 days ago
Kotlin TypeScript
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Exposed

Posts with mentions or reviews of Exposed. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • Drizzle is just as unready for prime-time as Prisma, what else is there?
    12 projects | /r/reactjs | 6 Dec 2023
    So is it like Exposed for Kotlin which is a typesafe Kotlin DSL for building sql queries? I’ve been looking for something like this in typescript! https://github.com/JetBrains/Exposed
  • Database Testing with Testcontainers and Kotlin Exposed ORM
    3 projects | dev.to | 29 Jun 2023
    object TestDatabase { private val mySQLContainer: MySQLContainer = MySQLContainer("mysql:8.0.26").apply { withDatabaseName("test-db") withUsername("test-user") withPassword("test-password") start() // Start the container } init { val config = HikariConfig().apply { jdbcUrl = mySQLContainer.jdbcUrl username = mySQLContainer.username password = mySQLContainer.password driverClassName = "com.mysql.cj.jdbc.Driver" maximumPoolSize = 10 } val dataSource = HikariDataSource(config) // This doesn't connect to the database but provides a descriptor for future use // In the main app, we would do this on system start up // https://github.com/JetBrains/Exposed/wiki/Database-and-DataSource Database.connect(dataSource) // Create the schema transaction { SchemaUtils.create(Users) } } }
  • I'm creating a REST API using KTOR. What's the best ORM to go with KTOR ?
    2 projects | /r/Kotlin | 28 May 2023
    Exposed SQL is pretty good.
  • speed of a left join with millions of rows
    1 project | /r/SQL | 27 May 2023
    I am using Kotlins Exposed DSL to access my postgreSQL database. I am running an SQL query which involves doing a one-to-many left join, with the first table having tens of thousands of rows and the second table having millions of rows. The database is stored locally on the machine. I would expect the returned query to be less than one thousand rows.
  • Return a nested list of child table using Kotlin Exposed Dao
    1 project | /r/Kotlin | 22 May 2023
    I understand that `referrersOn` and `referencedOn` can be used, however in the documentations StarWars example, the child table needs to have a column indicating the parent_id row it is joined to. This does not work in my case as my child table can be associated to multiple parent_ids.
  • Replicating Jetbrains Exposed Star Wars Example in IntelliJ Scratch file
    1 project | /r/IntelliJIDEA | 21 May 2023
    I am following this wiki to learn kotlin exposed. It contains an example of 'Referencing' using Star Wars data. I would like to create a scratch and/or console file in IntelliJ which reproduces this simple example. However When I try to run the code I get errors (see below). Is there something I am missing here?
  • How are you all handling database persistence?
    4 projects | /r/Kotlin | 22 Mar 2023
    Exposed by JetBrains https://github.com/JetBrains/Exposed
  • Why people don't like Java?
    5 projects | /r/programming | 27 Feb 2023
    Alternatively there are... hybrid solutions like Kotlin's https://github.com/JetBrains/Exposed or https://jdbi.org/ that don't quite... do all the heavy lifting for querying but allow you to sorta stitch queries together manually.
  • Using PostgreSQL as an Append-only Datastore with Kotlin and Exposed
    3 projects | /r/Kotlin | 24 Feb 2023
    In our last episode (https://youtu.be/Uza\_dWsNMUs) we worked out how to save stock items in PostgreSQL (https://www.postgresql.org/) using the JetBrains Exposed library (https://github.com/JetBrains/Exposed). This time we refactor our existing file-based storage, extracting an interface that we can implement with files, in-memory, or with Exposed. For the database version, instead of replacing items in a table when they change, we choose to implement an append-only datastore. This keeps all the old versions of every row, using a query to select the latest versions when we want to see the current state. This has the advantage that we can rebuild the state of our system if things go wrong, and may also be faster than amending when we consider transactions. This is part 62 of an exploration of where a Test Driven Development implementation of the Gilded Rose stock control system might take us in Kotlin. You can see the whole series as a playlist https://www.youtube.com/playlist?list=PL1ssMPpyqociJNwykAOB9\_KEZVW7BW7m2 and the code on GitHub https://github.com/dmcg/gilded-rose-tdd If you like this, you’ll probably like my book Java to Kotlin, A Refactoring Guidebook (http://java-to-kotlin.dev). It's about far more than just the syntax differences between the languages - it shows how to upgrade your thinking to a more functional style. I have some free time between producing videos and working for team Gilded Rose. If you like these videos I'd like to work with you - please get in touch - [email protected]
  • Writing to db
    5 projects | /r/Kotlin | 20 Feb 2023
    I have used hikari and exposed to do this in the past with postgres, although other dialects are supported.

Prisma

Posts with mentions or reviews of Prisma. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-15.
  • Deploy Full-Stack Next.js T3App with Cognito and Prisma using AWS Lambda
    4 projects | dev.to | 15 Apr 2024
    generator client { provider = "prisma-client-js" binaryTargets = ["native", "rhel-openssl-1.0.x"] } datasource db { provider = "postgresql" // NOTE: When using mysql or sqlserver, uncomment the @db.Text annotations in model Account below // Further reading: // https://next-auth.js.org/adapters/prisma#create-the-prisma-schema // https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#string url = env("DATABASE_URL") } model Post { id Int @id @default(autoincrement()) name String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt createdBy User @relation(fields: [createdById], references: [id]) createdById String @@index([name]) } // ... rest of the schema
  • End-To-End Polymorphism: From Database to UI, Achieving SOLID Design
    2 projects | dev.to | 28 Mar 2024
    Unfortunately Prisma hasn’t supported polymorphism yet. As such, you can't use inheritance to model the entity in the same way as in your programming language, as depicted in the above class diagram. The good news is that we could intimate it using table inheritance to imitate it.
  • Next.js App Router Course
    1 project | dev.to | 28 Mar 2024
    In this project I am manually declaring the data types. For better type-safety, use Prisma, which automatically generates types based on your database schema.
  • Next.js 14: Fetching Data
    1 project | dev.to | 22 Mar 2024
    When you're creating a full-stack application, you'll also need to write logic to interact with your database. For relational databases like Postgres, you can do this with SQL, or an ORM like Prisma.
  • Utilizando Testcontainers para Testes de Integração com NestJS e Prisma ORM
    4 projects | dev.to | 16 Mar 2024
  • Building an Admin Console With Minimum Code Using React-Admin, Prisma, and Zenstack
    5 projects | dev.to | 11 Mar 2024
    Prisma is a modern TypeScript-first ORM that allows you to manage database schemas easily, make queries and mutations with great flexibility, and ensure excellent type safety.
  • How to add Passkey Login to Next.js using NextAuth and Hanko
    5 projects | dev.to | 4 Mar 2024
    Prisma
  • Taming cross-service database transactions in NestJS with AsyncLocalStorage
    2 projects | dev.to | 21 Feb 2024
    There have been multiple feature requests to add native support for AsyncLocalStorage to Prisma, but they haven't been met with much enthusiasm from the maintainers. Some people solved it by extending and overriding the client (which is arguably prone to breaking with updates).
  • What Are the Chances of You Creating a Programming Language
    1 project | dev.to | 7 Feb 2024
    The DSL experience comes naturally to us as we have witnessed how well-designed language can greatly simplify programming tasks. We know it is challenging but not as difficult as many may feel. Therefore, we chose the schema-first design to create ZenStack toolkit on top of Prisma ORM that leverages code generation to significantly reduce the code developers need to write and make them move a lot faster.
  • How to Build & Deploy Scalable Microservices with NodeJS, TypeScript and Docker || A Comprehesive Guide
    13 projects | dev.to | 25 Jan 2024
    Our products microservice is also straight forward just like how the auth has been. As previously plotted, we will be using different technologies on each service and we are using PostgreSQL as a database and prisma orm(Object Relational Mapper) for querying our DB. ORMs are used to translate between the data representations used by databases and those used in object-oriented programming, and in this service, we will be using one of the most common ones in the nodejs ecosystem, Prisma. It is the only fully type-safe ORM in the TypeScript ecosystem. The generated Prisma Client ensures typed query results even for partial queries and relations.

What are some alternatives?

When comparing Exposed and Prisma you can also consider the following projects:

Ktorm - A lightweight ORM framework for Kotlin with strong-typed SQL DSL and sequence APIs.

Knex - A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.

SQLDelight - SQLDelight - Generates typesafe Kotlin APIs from SQL

Sequelize - Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.

kotlin-jpa-specification-dsl - This library provides a fluent DSL for querying spring data JPA repositories using spring data Specifications (i.e. the JPA Criteria API), without boilerplate code or a generated metamodel.

TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.

requery - requery - modern SQL based query & persistence for Java / Kotlin / Android

Mongoose - MongoDB object modeling designed to work in an asynchronous environment.

kwery - Kwery is an SQL library for Kotlin

MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.

kotlin-nosql - NoSQL database query and access library for Kotlin

lucid - AdonisJS SQL ORM. Supports PostgreSQL, MySQL, MSSQL, Redshift, SQLite and many more