Skip to content

Latest commit

ย 

History

History
35 lines (25 loc) ยท 1.87 KB

File metadata and controls

35 lines (25 loc) ยท 1.87 KB

1.Hibernate

์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด-๊ด€๊ณ„ ๋งคํ•‘(ORM) ํ”„๋ ˆ์ž„์›Œํฌ
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”๊ณผ ์ž๋ฐ” ํด๋ž˜์Šค ๊ฐ„์˜ ๋งคํ•‘์„ ์ œ๊ณตํ•˜์—ฌ,
์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ๊ณผ์ •์„ ๋‹จ์ˆœํ™”ํ•œ๋‹ค.

Hibernate๋Š” JPA(Java Persistence API)์˜ ๊ตฌํ˜„์ฒด ์ค‘ ํ•˜๋‚˜๋กœ,
JPA ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๋ฉด์„œ๋„ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ๊ณผ ์ตœ์ ํ™”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2.Hibernate ํŠน์ง•

2-1.๊ฐ์ฒด-๊ด€๊ณ„ ๋งคํ•‘(ORM)

์ž๋ฐ” ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์„ ๋งคํ•‘ํ•˜์—ฌ,
๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐ

2-2.์ž๋™ SQL ์ƒ์„ฑ

Hibernate๋Š” ํ•„์š”ํ•œ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์ž๋Š” SQL ์ฟผ๋ฆฌ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2-3.ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ

Hibernate๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠธ๋žœ์žญ์…˜์„ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
JTA(Java Transaction API)๋ฅผ ํ†ตํ•œ ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

2-4.์บ์‹ฑ

1์ฐจ ์บ์‹œ(Session ๋ ˆ๋ฒจ ์บ์‹œ)์™€ 2์ฐจ ์บ์‹œ(SessionFactory ๋ ˆ๋ฒจ ์บ์‹œ)๋ฅผ ์ง€์›ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์–‘ํ•œ ์บ์‹œ ์ œ๊ณต์ž(ehcache, Infinispan ๋“ฑ)์™€ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2-5.HQL (Hibernate Query Language)

SQL๊ณผ ์œ ์‚ฌํ•œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์ด ์•„๋‹Œ ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
JPQL๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ, ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2-6.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋…๋ฆฝ์„ฑ

Hibernate๋Š” ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ข…์†๋˜์ง€ ์•Š์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฉ์–ธ(dialect)์„ ์„ค์ •ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.