- Spring Boot MVC Rest API with Exposed
- Spring Boot Webflux REST API with Exposed Suspended
- Hibernate Reactive
- R2DBC
- Vertx SQL Client (with MyBatis SQL Builder)
- Exposed with Coroutines
- Virtual Threads with JPA
- JUnit 5
- TestContainers
- Databases
- H2
- Postgres
- MySQL V8
-
SQL DSL
-
Table 정의 및 생성
- Table 종류
- 다양한 컬럼 정의
- Primary Key
- Auto Increment
- Client Generated
- Foreign Key
- Index
- Unique Index
- Default Value (DB Default Value, Client Default Value)
-
SELECT
-
INSERT
-
UPDATE
-
DELETE
-
ORDER BY
-
JOIN
-
GROUP BY
-
HAVING
-
LIMIT & OFFSET
-
Subquery
-
Aggregation
-
Transaction
-
Batch Insert
-
Batch Update
-
Batch Delete
-
INSERT INTO SELECT
-
MergeFrom
- Expressions
- Functions
- Transformation (Column Values)
- Composite Primary Key
- CTE (Common Table Expression)
- Entity
- Auto Increment ID
- Client Generated ID
- Array Column for Postgres
- JSON
- JSON Column
- JSONB Column
- Java Time Column
- Kotlin DateTime Column
- Money Column
- Custom EntityID
- Snowflake ID for EntityID
- Timebased UUID for EntityID
- Base62 encoded UUID for EntityID
- Object Column
- Binary Serialized Column
- JDK Built-in Serializer
- Kryo Serializer
- Protobuf Serializer
- Avro Serializer
- Fury Serializer
- Compressed Column
- GZIP Column
- LZ4 Column
- Snappy Column
- ZSTD Column
- Encrypted Column
- Binary Serialized Column
- JSON Column using Jackson
- jackson function for JSON Column
- Simple Entity
- Relationships
- One To One
- One To Many
- List
- Set
- Map
- Many To One
- Many To Many
- Hierarchy
- Self Referencing
- Relation Table
- Inheritance
- Single Table
- Table Per Class
- Joined Table
-
Transactional Coroutines
- newSuspendedTransaction
-
Dispatchers
- Dispatchers.IO
- Dispatchers.VT
- Using Spring Transaction
- Spring Boot MVC
- Platform Threads
- Virtual Threads
- Spring Boot Webflux + Coroutines
- Implement ExposedRepository
- Multitenant with Spring MVC
- Multitenant with Spring MVC and Virtual Threads
- Multitenant with Spring Webflux and Coroutines
- Read Through
- Write Through
- Write Behind
- MigrationUtils in Exposed
- Using Flyway for Migration
- Spring Modulith & Application Events