BackEnd๐Ÿ/Java๐ŸŽฑ

[IntelliJ] JPA ์‚ฌ์šฉ์‹œ Cannot resolve column' ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ

IntelliJ IDEA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java Persistence API(JPA)๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด, ์—”ํ‹ฐํ‹ฐ์˜ ์ปฌ๋Ÿผ์ด๋‚˜ ํ…Œ์ด๋ธ”๋ช…์„ ๋ณ€๊ฒฝํ•  ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” Cannot resolve column ๊ฐ™์€ ๊ฒฝ๊ณ ์— ์ต์ˆ™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ๊ณ ๋Š” ์ฝ”๋“œ์ƒ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , IDE์—์„œ ๋นจ๊ฐ„์ƒ‰ ๊ฒฝ๊ณ ์„ ์„ ํ‘œ์‹œํ•˜์—ฌ ๋ถˆ์•ˆ์ •ํ•œ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ git push์™€ ๊ฐ™์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ž‘์—…์„ ํ•  ๋•Œ ๋ถˆํ•„์š”ํ•œ ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ด๋Ÿฌํ•œ ๋นจ๊ฐ„์ค„ ๊ฒฝ๊ณ ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 1. ๋Œ€๋ถ€๋ถ„์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: IntelliJ ์„ค์ • ๋ณ€๊ฒฝํ•˜๊ธฐ ๋Œ€๋‹ค์ˆ˜์˜ ๋ธ”๋กœ๊ทธ๋‚˜ ํฌ๋Ÿผ, ์‹ฌ์ง€์–ด StackOverflow์—์„œ๋„ ๊ฐ€์žฅ ๋จผ์ € ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ IntelliJ์˜ ํŠน์ • ์˜ต์…˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ..

2024. 3. 31. 15:55
BackEnd๐Ÿ/Java๐ŸŽฑ

[Spring] AOP(Aspect Oriented Programming)๋ž€? ์Šคํ”„๋ง AOP๋ž€?

intro ์Šคํ”„๋ง ์ž…๋ฌธ - ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ, ์›น MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ๋“ฃ๊ณ  ๋‚˜์„œ ๊ฐœ์ธ์ ์œผ๋กœ AOP์— ๋Œ€ํ•ด ์ถ”๊ฐ€๋กœ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. ํ•ด๋‹น ๊ฐ•์˜์— ๋‚˜์˜จ ์ฝ”๋“œ ๋ถ„์„ ์™ธ์—๋„ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ๋„ ์‚ดํŽด๋ณด์•˜๋‹ค. AOP (Aspect Oriented Programming)๋ž€? AOP๋Š” Aspect Oriented Programming์˜ ์•ฝ์ž๋กœ ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ๊ด€์  ์ง€ํ–ฅ์€ ์–ด๋–ค ๋กœ์ง์„ ๊ธฐ์ค€์œผ๋กœ ํ•ต์‹ฌ์ ์ธ ๊ด€์ , ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ณด๊ณ  ๊ทธ ๊ด€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ชจ๋“ˆํ™” ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ชจ๋“ˆํ™” : ์–ด๋–ค ๊ณตํ†ต๋œ ๋กœ์ง์ด๋‚˜ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ฌถ๋Š” ๊ฒƒ ์˜ˆ๋ฅผ ๋“ค์–ด ํ•ต์‹ฌ์ ์ธ ๊ด€์ ์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๋  ์ˆ˜ ์žˆ๊ณ , ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์€ ํ•ต์‹ฌ ๋กœ์ง์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ–‰ํ•ด์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ๋กœ๊น…, ํŒŒ์ผ ์ž…์ถœ..

2023. 9. 2. 23:07
BackEnd๐Ÿ/Java๐ŸŽฑ

[Java] [๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด] - (2) ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ, JVM์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

| ๋ณ€์ˆ˜ ์ž๋ฐ”์—์„œ ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค๋ณ€์ˆ˜, ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜, ์ง€์—ญ๋ณ€์ˆ˜ ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ๋Š” '๋ณ€์ˆ˜์˜ ์„ ์–ธ๋œ ์œ„์น˜'์ด๋‹ค. ๋ฉค๋ฒ„๋ณ€์ˆ˜๋ฅผ ์ œ์™ธํ•œ ๊ฒƒ์€ ๋ชจ๋‘ ์ง€์—ญ๋ณ€์ˆ˜, ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์ค‘ static ์ด ๋ถ™์€ ๊ฒƒ์€ ํด๋ž˜์Šค๋ณ€์ˆ˜, ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์ค‘ static ์ด ๋ถ™์ง€ ์•Š์€ ๊ฒƒ์€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์ด๋‹ค. ใ…๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜ iv ์™€ cv ๋Š” ํด๋ž˜์Šค ์˜์—ญ์— ์„ ์–ธ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉค๋ฒ„๋ณ€์ˆ˜์ด๋‹ค. cv ๋Š” static ์ด ๋ถ™์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํด๋ž˜์Šค๋ณ€์ˆ˜์ด๊ณ , iv ๋Š” static ์ด ๋ถ™์–ด์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜์ด๋‹ค. lv๋Š” ๋ฉ”์„œ๋“œ ์˜์—ญ์— ์„ ์–ธ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์—ญ๋ณ€์ˆ˜์ด๋‹ค. ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜ (instance variable) ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜๋Š” ๋…๋ฆฝ์ ์ธ ์ €์žฅ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค..

2023. 6. 29. 22:20
BackEnd๐Ÿ/Java๐ŸŽฑ

[Java] ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด - (1) ํด๋ž˜์Šค, ๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค

| ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด๋Š” ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•œ ํ˜•ํƒœ์˜ ์–ธ์–ด์ด๋‹ค. ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค. ์ฝ”๋“œ์˜ ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•˜๋‹ค. ์‹ ๋ขฐ์„ฑ์ด ๋†’์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. | ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ํด๋ž˜์Šค, ๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค โ–ทํด๋ž˜์Šค: ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•ด๋†“์€ ๊ฒƒ -> ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. โ–ท๊ฐ์ฒด: ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ โ–ทํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šคํ™”: ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ • --> ์–ด๋– ํ•œ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด๋ฅผ ๊ทธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ๋ผ๊ณ  ํ•œ๋‹ค. ex) ํด๋ž˜์Šค๊ฐ€ ์ฑ…์ƒ ์„ค๊ณ„๋„๋ผ๋ฉด, ๊ฐ์ฒด๋Š” ์ฑ…์ƒ์ด๋‹ค. ์ฑ…์ƒ์€ ์ฑ…์ƒ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค์ด๋‹ค. ํด๋ž˜์Šค์˜ ๋˜ ๋‹ค๋ฅธ ์ •์˜ ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ์™€ ํ•จ์ˆ˜์˜ ๊ฒฐํ•ฉ์ด๋‹ค. ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž์ •์˜ ํƒ€์ž…์ด๋‹ค. ๊ฐ์ฒด์˜ ๊ตฌ์„ฑ์š”์†Œ (๊ฐ์ฒด → iv(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜) ๋ฌถ์Œ) ๊ฐ์ฒด๋Š”..

2023. 6. 29. 22:14
BackEnd๐Ÿ/Java๐ŸŽฑ

[Java] intellij 404 ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Java ํŒŒ์ผ์„ ๋ฐ›๊ณ  ์ฒ˜์Œ Tomcat ์„œ๋ฒ„๋กœ ์‹คํ–‰์„ ํ•˜๋‹ˆ ํ•ด๋‹น ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฌ๋‹ค.. ํ•ด๋‹น ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๋กœ ์ฐพ์•„ ๋ณด์•˜๋Š”๋ฐ, ์ด์ „์— ํšŒ์‚ฌ์—์„œ๋„ ๋ฐœ๊ฒฌํ–ˆ์—ˆ๋˜ ์˜ค๋ฅ˜์˜€๋‹ค, 404์˜ค๋ฅ˜ ์ž์ฒด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ์—์„œ ์กด์žฌํ•˜์ง€ ์•Š๋Š” URL์„ ํƒ์ƒ‰ํ–ˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ๋ณธ๋‹ค. ํ•ด๋‹น ์›์ธ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ, ๊ทธ์ค‘ ๋‚˜์—๊ฒŒ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋Š” Application context ๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์–ด์žˆ์ง€ ์•Š์•˜๋˜ ์˜ค๋ฅ˜์˜€๋‹ค. ๊ทธ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ๋กํ•ด๋ณด์•˜๋‹ค. ์„œ๋ฒ„ ์„ค์ •์—์„œ Delpoyment ์—์„œ Application context์— /warexploded ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‹จ์–ด๊ฐ€ ์ ํ˜€์žˆ์„ ํ™•๋ฅ ์ด ์žˆ๋Š”๋ฐ, ํ•ด๋‹น ๋ถ€๋ถ„์„ / ๋กœ ์ˆ˜์ •์„ ํ•˜๋ฉด ์‹คํ–‰์ด ๋˜๋Š”๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

2023. 6. 11. 17:32
โ—€ PREV [1] NEXT โ–ถ