Hibernate (ORM) - in 10 steps

๊ด‘๊ณ  ํฌํ•จ
100+
๋‹ค์šด๋กœ๋“œ
์ฝ˜ํ…์ธ  ๋“ฑ๊ธ‰
์ „์ฒด์ด์šฉ๊ฐ€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€
์Šคํฌ๋ฆฐ์ƒท ์ด๋ฏธ์ง€

์•ฑ ์ •๋ณด

๊ฐ•๋ ฅํ•˜๊ณ  ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Java ORM ๋„๊ตฌ์ธ Hibernate๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹ญ๋‹ˆ๊นŒ? Hibernate Tutorial Android ์•ฑ๋ณด๋‹ค ๋” ์ด์ƒ ๋ณด์ง€ ๋งˆ์‹ญ์‹œ์˜ค! ์šฐ๋ฆฌ ์•ฑ์€ 100% ๋ฌด๋ฃŒ์ด๋ฉฐ ๊ฐ€์ž…์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‰ฝ๊ฒŒ Hibernate์˜ ์„ธ๊ณ„๋กœ ๋ฐ”๋กœ ๋›ฐ์–ด๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํฌ๊ด„์ ์ธ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” Hibernate์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” 1๋‹จ๊ณ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ Hibernate์™€ ORM(Object-Relational Mapping)์„ ์†Œ๊ฐœํ•˜๊ณ  Java ํ”„๋กœ์ ํŠธ์—์„œ Hibernate๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ 2๋‹จ๊ณ„์—์„œ๋Š” Hibernate๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋Š” Hibernate๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜๊ณ  ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„์—์„œ๋Š” Hibernate ๋งคํ•‘ ํŒŒ์ผ ์„ค์ •์— ์ค‘์ ์„ ๋‘๊ณ  Hibernate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java ํด๋ž˜์Šค๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์— ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์นฉ๋‹ˆ๋‹ค. ๋งคํ•‘์„ ์ •์˜ํ•˜๊ณ , ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ , ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

4๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” Hibernate์—์„œ ์ž‘์—…ํ•  ๋•Œ ๊ฐ์ฒด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์ƒํƒœ๋ฅผ ์„ค๋ช…ํ•˜๋ฉด์„œ Hibernate์˜ ๊ฐ์ฒด ์ƒํƒœ๋ฅผ ์กฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํƒœ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์—์„œ Hibernate๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

5๋‹จ๊ณ„์—์„œ๋Š” Hibernate์—์„œ ์ง€์† ๊ฐ์ฒด ์ž‘์—…์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Hibernate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ ๋ฐ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

6๋‹จ๊ณ„๋ถ€ํ„ฐ 11๋‹จ๊ณ„์—์„œ๋Š” ์ €์žฅ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ, ๋กœ๋“œ, ๊ฐ€์ ธ์˜ค๊ธฐ, ๋ณ‘ํ•ฉ, ์ง€์†, saveOrUpdate, ์ œ๊ฑฐ, ํ”Œ๋Ÿฌ์‹œ ๋ฐ ์ง€์šฐ๊ธฐ๋ฅผ ํฌํ•จํ•˜์—ฌ Hibernate์˜ 11๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ Hibernate์˜ ํ•ต์‹ฌ์ด๋ฉฐ ์ด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์„ฑ๊ณต์ ์ธ Hibernate ๊ฐœ๋ฐœ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

7๋‹จ๊ณ„์—์„œ๋Š” ์ผ๋Œ€์ผ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ, ๋‹ค๋Œ€๋‹ค ๋งคํ•‘์„ ํฌํ•จํ•˜์—ฌ Hibernate์˜ ๋งคํ•‘ ์œ ํ˜•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋‹น์‹ ์˜ Hibernate ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๋งคํ•‘ ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

8๋‹จ๊ณ„์—์„œ๋Š” SQL๊ณผ ์œ ์‚ฌํ•œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ Hibernate์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” HQL(Hibernate Query Language)์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. HQL์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ๋ฐ ๊ณ ๊ธ‰ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

9๋‹จ๊ณ„์—์„œ๋Š” Hibernate๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€ ์ฟผ๋ฆฌ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ธฐ์ค€ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐœ์ฒด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ 10๋‹จ๊ณ„์—์„œ๋Š” ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•  ์ˆ˜ ์žˆ๋Š” Hibernate์˜ ์บ์‹ฑ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Hibernate์—์„œ ์บ์‹ฑ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ”„๋กœ์ ํŠธ์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, Hibernate Tutorial Android ์•ฑ์€ Hibernate๋ฅผ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๊ณ ์ž ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์™„๋ฒฝํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ํฌ๊ด„์ ์ธ ํŠœํ† ๋ฆฌ์–ผ์„ ํ†ตํ•ด ๋‹น์‹ ์€ Hibernate์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ๊ณผ ๊ทธ๊ฒƒ์„ ๋‹น์‹ ์˜ Java ํ”„๋กœ์ ํŠธ์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ ์•ฑ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  Hibernate๋ฅผ ๋ฐฐ์›Œ๋ณด์„ธ์š”!
์—…๋ฐ์ดํŠธ ๋‚ ์งœ
2025. 4. 20.

๋ฐ์ดํ„ฐ ๋ณด์•ˆ

๋ณด์•ˆ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ๋ฐ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹์„ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ณด์•ˆ ๊ด€ํ–‰์€ ์‚ฌ์šฉ์ž์˜ ์•ฑ ์‚ฌ์šฉ, ์ง€์—ญ, ์—ฐ๋ น์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ œ๊ณตํ•œ ์ •๋ณด์ด๋ฉฐ ์ถ”ํ›„ ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์•ฑ์—์„œ ์ œ3์ž์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•
๊ธฐ๊ธฐ ๋˜๋Š” ๊ธฐํƒ€ ID
์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ˆ˜์ง‘์„ ์„ ์–ธํ•˜๋Š”์ง€ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.
์ „์†ก ์ค‘ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋จ
๋ฐ์ดํ„ฐ ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Œ

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ

Removed unused code/libraries and images,
Reduced app size

์•ฑ ์ง€์›

์ „ํ™”๋ฒˆํ˜ธ
+918799709773
๊ฐœ๋ฐœ์ž ์†Œ๊ฐœ
kuldeep Kaushik
support@ideeprogrammer.com
H.NO. 3 TIRGADI JASPUR, U.S. NAGAR Udham Singh Nagar, Uttarakhand 244712 India
undefined

Idee Programmer์˜ ์•ฑ ๋”๋ณด๊ธฐ