ๆฌๅฝใฎjOOQ๏ผ Type Safe SQL with Java
jOOQใงType SafeใใSQLใฎๅผทๅใใไฝ้จใใฆใใ ใใ๏ผ
ๅ่ฌ็ 380ๅ
้ฃๆๅบฆ ไธญ็ดไปฅไธ
ๅ่ฌๆ้ ็กๅถ้

ไปใฎๅ่ฌ็ใใใใใ่ณชๅใๆฐใซใชใใพใใ๏ผ
- ๆช่งฃๆฑบ
์๋ ํ์ธ์ FetchGroups์์ Multiset๋ฐฉ์ ์ฌ์ฉํ๋ฉด ์ด๋ค๊ฐ ํด์ ๋ฌผ์ด๋ด ๋๋ค
์๋ ํ์ธ์ ๊ณต๋ถํ๋ค๊ฐ ๋ณด๋FetchGroups๋ฐฉ์์ผ๋ก ํ์๋ Map์ผ๋ก ๋ฐํ๋๊ณ DTO๋ก ๋ณํํด์ผํ๋ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋๋ฐ์<p style="text-al
javasqlspring-bootjooqdslrladnjs7055010
ใป
4ใถๆๅ
0
51
1
- ่งฃๆฑบ
monosoul jooq plugin-docker registry ๋ณ๊ฒฝ
monosoul - jooq ํ๋ฌ๊ทธ์ธ ์ ์ฉ ๊ฐ์์ฒ๋ผ testcontainers๋ฅผ ๋์ ddl์ ์คํํ์ฌ database๋ฅผ ์์ฑ ํ jooq๊ฐ ์์ฑ๋ database๋ฅผ ๋ฐํ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋๋ก ์ค์ ํ๊ณ ์ถ์ต๋๋ค.
jooqdockertestcontainersanonymouss
ใป
4ใถๆๅ
1
87
3
- ่งฃๆฑบ
์ง๋ฌธ) jOOQ ํ๋ก์ ํธ์์ CI/CD ์๋ํ ๋ฌธ์
์๋ ํ์ธ์, ๊ฐ์ฌ๋.๊ฐ์ ์ ๋ค์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. jOOQ๋ฅผ ์ฌ์ฉํ ํ๋ก์ ํธ์์
javasqlspring-bootjooqdslkhlim
ใป
7ใถๆๅ
1
156
3
- ่งฃๆฑบ
generate dao ๋ฅผ ํตํ ์ฝ์ ์ pk auto-increment ๊ฐ ์ ์ฉ๋์ง ์์ต๋๋ค
Kotlin, Groovy gradle, PostrgreSQL ๊ธฐ๋ฐ์ผ๋ก ํ๋ก์ ํธ ์ธํ ์ด ๋์ด ์์ต๋๋ค <code class="langua
sqlspring-bootjooqdslkotlinikeelee4778
ใป
7ใถๆๅ
1
92
1
- ่งฃๆฑบ
jooq+flyway์์ ์ง๋ฌธ๋๋ฆฝ๋๋ค
๋์ปค ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ์ฌ์ ์คํ ์ํค๋๊ฑธ๋ก ์งํํ์ จ๋๋ฐ ์ ๋ ๋์ปค๋ฅผ ๋ฐ์คํฌํ์ด ์๋๋ผ olima๋ก ์คํ์ํค๊ณ ์์ด์ ํ๊ฒฝ๋ณ์ ์๋ฌ๊ฐ ๋์ค๋๋ผ
javasqlspring-bootjooqdslrladnjs7055010
ใป
1ๅนดๅ
0
232
2
- ่งฃๆฑบ
์๋ ํ์ธ์ ์์ฑ์ผ,์์ฑ์,์์ ์ผ,์์ ์๋ ์๋์ผ๋ก ํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์์๊น์?
Jpa ๋ณด๋ฉด Auditing ๊ธฐ๋ฅ์ผ๋ก ์๋์ผ๋ก ๋ฃ์ด์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋๋ฐ jooq์์๋ ๋น์ทํ๊ฒ ์์๊ฑฐ ๊ฐ์๋ฐ recode listener ์ฌ์ฉํด์ ํด์ผํ๋๊ฑธ๊น์? <p style="text-a
javasqlspring-bootjooqdslrladnjs7055010
ใป
1ๅนดๅ
0
190
2
- ่งฃๆฑบ
[์ฌ๋ก] Maven์์ TestContainers ํ๋ฌ๊ทธ์ธ ์ ์ฉ์ ์์ธ๋ฐ์
์์ผ๋ก ๊ณผ๊ฑฐ์ ๊ฒช์๋ ์ด์๋ค๋ ์๊ฐ๋ ๋๋ง๋ค ์ฌ๊ธฐ์ ๊ธฐ๋กํ๋๋ก ํ๊ฒ ์ต๋๋ค. Maven์์ Test
javasqlspring-bootjooqdslsdm32851630
ใป
1ๅนดๅ
0
132
0
- ่งฃๆฑบ
Routines ๊ด๋ จ ์ง๋ฌธ
์๋ ํ์ธ์!์ด๋ฒ์ jooq๋ฅผ ๋์ ํ๊ฒ ๋์ด ๊ฐ์๋ฅผ ๋ณด๋ฉฐ ์ฒ์ฒํ ๋ฐ๋ผํด๋ณด๊ณ ์์ต๋๋ค.ํ์ฌ Flywa
javasqlspring-bootjooqdslianpark98057552
ใป
1ๅนดๅ
1
149
2
- ่งฃๆฑบ
JOOQ ํ๊ฒฝ์ค์ ์ค์ db ํจ์ค์๋ ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
๊ฐ์์์๋ ๊ทธ๋ ๊ณ ์ค์ ๋ก ์ค์ต์ ํด๋ดค์ ๋๋ ๊ทธ๋ ๊ณ (์ ๋ db๋ฅผ ๋ก์ปฌ๋ก ์คํํ์ต๋๋ค!) gradle ํ์ผ์ db rootํจ์ค์๋๋ฅผ ๊ทธ๋๋ก ์ ๋ ฅํด์ผ ํ๋ ๊ฒ ๊ฐ์๋ฐ.. :) ์ด ๋ถ๋ถ์ ๋ํด์ ์ดํ์ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์๋๊ฑธ๊น์
javasqlspring-bootjooqdslfeyfey9277209
ใป
1ๅนดๅ
1
163
1
- ่งฃๆฑบ
Sakila DB ๋์ปค ์ปดํฌ์ฆ ๊ตฌ์ฑ ์ ํ
MySQL์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ์ฅ ๊ฒฝ๋ก๋ /var/lib/mysql์ด๋ฏ๋ก, ์ง์ ๋ง๋ ๋ณผ๋ฅจ์ /data ๊ฒฝ๋ก๊ฐ ์๋ /var/lib/mysql์ ์ง์ ํด์ฃผ์ ์ผ ํฉ๋๋ค.<
javasqlspring-bootjooqdsl4zxzxz40751
ใป
1
146
1
- ่งฃๆฑบ
DB ๋ฒค๋๋ณ ๋ด์ฅํจ์์ ๋ํ ๋ฐฉ์ธ ์ง์ ๋ฃ๊ณ ์ง๋ฌธ๋๋ ค์
postgresql ํ ๋๋ dsl์ ์ฌ์ฉ์ํ๋๋ฐ ๊ทธ๋ฐ ์ด์ ๊ฐ์์๊น์?mysql์์๋ MYSQLDSL.GROUPCONNECAT ์ด๋ ๊ฒํ๋๋ฐPOSTGRESQL์์๋ dsl์ ์ฌ์ฉ์ํ๋๊ฒ๊ฐ์์์๊ทธ๋ฌ๋์ง ๊ถ๊ธํฉ๋๋ค
javasqlspring-bootjooqdsllasttokens55853591
ใป
1
165
1
- ่งฃๆฑบ
์ธํ ๋ฆฌ์ ์ด ํ ๋ง ์ง๋ฌธ
ํน์ ํ ๋ง ์ด๋ค๊ฑฐ ์ฐ์๋์...๋๋ฌด์ด๋ป์..๊ฐ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค jooq ํธ๊ธฐ์ฌ์ด ๋ง์์๋๋ฐ. ์๊ฐ์๋์์๊ฒ ๋์์ฃผ์ ์ ๊ฐ์ฌํด์
javasqlspring-bootjooqdslfirst06174224
ใป
2
391
3
- ่งฃๆฑบ
kotlin jOOQ , ์ปดํ์ผ์ ํ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ
์๋ ํ์ธ์๋น์ทํ ์ด์ ๋ก queryDSL ์์ ๋ถํธํจ์ ๊ฐ์ง๊ณ ์์ด jOOQ ์ ๊ด์ฌ์ด ์๊ฒผ์ต๋๋ค.๋ง์นจ ์ด๋ ๊ฒ ์ข์ ๊ฐ์ ๋ง๋ค์ด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.๋ค๋ฆ์ด ์๋๋ผ kotlin ์ ์ฃผ๋ก ์ฌ์ฉํด์ kotlin ์ผ๋ก jOOQ ์ฌ์ฉ์
javasqlspring-bootjooqdslkotlinjava
ใป
0
499
2
- ่งฃๆฑบ
pojo ์ setter ๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์์๊น์?
์๋ ํ์ธ์ ๊ฐ์ฌ๋. jooq ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค. ํ์ฌ update ๋ถ๋ถ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ค์ตํด๋ณด๊ณ ์๋๋ฐ Actor ์ setter ๋ฉ์๋๋ค์ด ์์ด์ dao ๋ฅผ ํตํ update๋ฅผ ํ๋๋ฐ ๋ค์ ์ด๋ ค์์ด ์๊ฒผ์ต๋๋ค.<p
javasqlspring-bootjooqdslharpuria870722
ใป
1
177
1
- ่งฃๆฑบ
FilmWithActor๋ก fetch ์ select์ ์์ฑ์์ ๋งค๊ฐ๋ณ์ ์์๊ฐ ๋ค๋ฅผ ๊ฒฝ์ฐ map์ด ์ ์์ ์ผ๋ก ์ด๋ฃจ์ด ์ง์ง์๋ ์ผ์ด์ค
์๋ ํ์ธ์ ๊ฐ์๋ฅผ ์ฌ๋ฐ๊ฒ ์๊ฐํ๋ ๋์ค ๊ถ๊ธ์ฆ์ด ์๊ธฐ์ด ์ง๋ฌธ ๋๋ฆฝ๋๋ค. ์ง๋ฌธselect ์ row ๋งค๊ฐ๋ณ์์ ์์์ FilmWithActor์ ์์ฑ์ ๋งค๊ฐ๋ณ์์ ์์๊ฐ
javasqlspring-bootjooqdslhardy
ใป
1
211
1
- ่งฃๆฑบ
from์ subquery table filed nullable ์ฒ๋ฆฌ
์๋ ํ์ธ์. ๊ฐ์ ์ ๋ฃ๊ณ ์์ต๋๋ค.๋ค๋ฆ์ด ์๋๋ผ subquery ์ค์ต ์ค nullable method ์ฒ๋ฆฌ๊ฐ ์๋์ด ์ง๋ฌธ ๋๋ฆฝ๋๋ค. asTable() method ์ฌ์ฉํ์ฌ Table ์ธ์คํด์ค
javasqlspring-bootjooqdslfreesens6228
ใป
1
212
1
- ่งฃๆฑบ
kotlin mapping error
์๋ ํ์ธ์! ๊ฐ์ ์ ๋ค์์ต๋๋ค ใ ใ ์๋ฐ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ํด์ฃผ์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ฝํ๋ฆฐ์ผ๋ก ์ ํํ์ฌ ๋ค์๊ธ ํ์ตํ๊ณ ์์ต๋๋ค.๊ทธ๋ฌ๋ ๋์ค ๋งคํ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์๋๋ฐ ์ด์ ๊ด๋ จํ์ฌ ๋์์ ์์ฒญ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค.<pre
javasqlspring-bootjooqdslclllickme8823
ใป
0
498
4
- ่งฃๆฑบ
db column์ not null๋ก ๋์ด ์๋๋ฐ kotlin์์ pojo๊ฐ ๋ค nullable๋ก ์์ฑ๋์.
kotlin์ ์ฌ์ฉํ๊ณ ์์ด์, kotlin with jooq๋ก ํ๋๋ฐ pojo์ ์์ฑ๋ค์ด ๋ชจ๋ ?์ด ๋ถ์ด์ nullable์ด ๋์์ต๋๋ค. ์ค์์ not null์์๋ ๋ถ๊ตฌํ๊ณ ์. ์ด๋ด ๊ฒฝ์ฐ ๋ฐ๋ก data class๋ฅผ ๋ง๋ค์ด์ผ ํ ๊น์? ์๋๋ฉด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์๊น์
javasqlspring-bootjooqdslinkang05084175
ใป
0
495
1
- ่งฃๆฑบ
ํ๋์ ๋๋น๋ฅผ ์ฌ๋ฌ ๋ฐฑ์๋ ์๋ฒ๊ฐ ํ์๋ก ํ ๋, flyway ๊ด๋ฆฌ
์ ์ ๋ฐ ์๊ตฌ์ฌํญ DB ํ๋์ ์ข ๋ฅ๊ฐ ๋ค๋ฅธ ์๋ฒ๊ฐ 4๊ฐ๊ฐ ๋ถ์ด์์ต๋๋ค. flyway๋ฅผ ํตํด์ DB version control์ ํ๊ณ ์ถ์ต๋๋ค. node์ nestjs์ typeorm์ ์ฌ์ฉํ ๋๋ CICD ๋จ๊ณ์์ typ
javasqlspring-bootjooqdslinkang05084175
ใป
1
859
5
- ่งฃๆฑบ
dslContext ์์ฑ ์ fetchGroups ์ด๋ ๊ฒ ์์ฑํด๋ ๋ ๊น์?
fun findActorFilmography(searchOption: ActorFilmographySearchOption): List { val actorL
javasqlspring-bootjooqdslchhong9965
ใป
2
608
6

