๊ฐ๋ ์ ๋ฆฌ ์์ ์ค(70)
-
[Exception ์ ๋ฆฌ] com.querydsl.core.types.ExpressionException: No constructor found for class
๐ Code Content Query dsl์ ์ฌ์ฉํ์ฌ ์ฃผ๋ํ๋์ด ๋ง๋ค ๊ฐ์กฑ ์ปค๋ฎค๋ํฐ ๊ฒ์ํ์ ๋ชฉ๋ก ์กฐํ๋ฅผ ๊ตฌํํ๋ ค๊ณ ํ๋ ๊ฒ์ด์์. ์คํ๋ง๊ณผ JPA๋ฅผ ํ์ฉํ ์๋ฐ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ธํธ COUPANG www.coupang.com "์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค." ๐ฝ SystemManualQueryRepository package com.hongga.repository.querydsl.system_manual; import com.hongga.dto.SystemManualResponseDTO; import com.querydsl.core.types.Projections; import com.querydsl.jpa.impl.JPAQue..
2022.02.05 -
[Exception ์ ๋ฆฌ] Spring Security PasswordEncoder Test NPE(Null Pointer Exception)
๐ Code Content Spring Security๋ฅผ ์ฌ์ฉํด์ ํ์๊ฐ์ , ๋ก๊ทธ์ธ ๋ฑ์ ์ฒ๋ฆฌํ๋ ค๊ณ ํ๋ ๊ฒ์ด์์. ๋จผ์ ํ์์ด ์ ๋ง๋ค์ด์ง๋์ง Test๋ฅผ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด Test Code๋ฅผ ์์ฑํ ๊ฒ์ด์์. package com.hongga.repository; import com.hongga.entity.Member; import com.hongga.entity.MemberRole; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframewo..
2022.01.26 -
[H2-DB] Auto_Increment๋ฅผ ํ๊ณ ์ถ์ง๋ง, SQL Exception์ด ๋ฐ ๋
์ด๊ฒ์ด MySQL์ด๋ค:MySQL ์ค์น๋ถํฐ PHP ํ์ด์ฌ ์ฐ๋๊น์ง ํ๋ฒ์! COUPANG www.coupang.com "์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค." ์์ ๊ฐ์ด Member Table์ ๋ง๋ค๊ณ , member_id๋ฅผ ํตํด ์๋์ผ๋ก Index๊ฐ์ด ์ฌ๋ผ๊ฐ๋ ํ์์ผ๋ก ๊ณ ์ ๋ฒํธ๋ฅผ ์ฃผ๊ฒ ๋ง๋ ๊ฒ์ด์์. DB๋ ์ฐ์ต์ฉ์ผ๋ก ์ฐ๊ธฐ ์ข์ H2 DB๋ฅผ ์ฐ๊ณ ์๋ ๊ฒ์ด์์. ์~~๋ฌด๋ฆฌ ์๊ฐํด ๋ด๋ SQL ๋ฌธ์ด ๋ฌธ์ ๊ฐ ํฐ์ง ๊ฒ ์ ํ ์๋๋ฐ, ์ด๋ ๊ฒ ์๊พธ Exception์ด ํฐ์ก๋ ๊ฒ์ด์์. ์ด๊ฒ H2 DB์์ Auto_Increment์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ 15๋ฒ์งธ ์ค ์ฒ๋ผ [ ;MODE=MySQL; ] ์ ์ถ๊ฐ ํด ์ฃผ๋ฉด ์ ์ ์๋ํ๋ ๊ฒ์ ํ์ธํ ๊ฒ์ด์์. ์ด๊ฒ์ด M..
2022.01.12 -
[Spring Framwork] DataIntegrityViolationException
๐ DataIntegrityViolationException โ ๋ฌธ์ ๋ฐ์! org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:276) at org.springfram..
2021.11.16 -
[Spring Framwork] LazyInitializationException / @EntityGraph
๐ LazyInitializationException โ ๋ฌธ์ ๋ฐ์! ๐ป Repository Code ๐ป Test Code โ ๋ฌธ์ ์ดํด ์ด๊ฒ์ Review Class์ Member์ ๋ํ Fetch ๋ฐฉ์์ด LAZY(์ง์ฐ ๋ก๋ฉ)์ด๊ธฐ ๋๋ฌธ์ ํ ๋ฒ์ Review ๊ฐ์ฒด์ Member ๊ฐ์ฒด๋ฅผ ์กฐํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ Exception์ธ ๊ฒ์ด์์. @Transactional์ ์ ์ฉํ๋ค๊ณ ํด๋ ๊ฐ Review ๊ฐ์ฒด์ getMember().getEmail()์ ์ฒ๋ฆฌํ ๋๋ง๋ค Member ๊ฐ์ฒด๋ฅผ Lodingํด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๋ต๋๋ค! ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์๋์ ๊ฐ์ด ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ ์๋ ๊ฒ์ด์์. @Query๋ฅผ ์ด์ฉํด์ Join์ฒ๋ฆฌ @EntityGraph๋ฅผ ์ด์ฉํด์ Review ๊ฐ์ฒด๋ฅผ..
2021.11.16 -
[JPQL] Delete ์ ๋ฌธ์ : InvalidDataAccessApiUsageException
๐ InvalidDataAccessApiUsageException [์์ด์ฝ์ถํ]์คํ๋ง๊ณผ JPA๋ฅผ ํ์ฉํ ์๋ฐ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ธํธ - ์ 3๊ถ COUPANG www.coupang.com "์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค." โ ๋ฌธ์ ๋ฐ์! Test Code ์์ ๊ฐ์ด ๊ฒ์๊ธ๊ณผ ํด๋น ๊ฒ์๊ธ์ ๋ํ Delete๋ฅผ ์ํด JPQL์ ํตํด ์ญ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ์๋ ๊ฒ์ด์์. ํ์ง๋ง, ์๋์ ๊ฐ์ด Exception์ด ๋นต! ํ๊ณ ํฐ์ ธ๋ฒ๋ ธ๋ต๋๋ค! org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provid..
2021.11.02