전체 글 869

값 타입

기본값 타입 JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의 하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 값 타입 int, Integer, String처럼 단순한 값으로 사용하는 기본 타입이나 객체 식별자가 없고 값만 있어서 변경시 추적 불가 값 타입 분류 기본값 타입 primitive type wrapper class type String embedded type (복합 값타입) collection value type 기본 값 타입 생명주기를 엔티티의 의존 값 타입은 공유하면 안됨 임베디드 타입 새로운 값 타입을 직접 정의할 수 있음 JPA는 임베디드 타입이라고 함 주로 기본 값 타입을 모아서 만들어서 복합 값타입이라고 함 int, String과 같은 값 타입 @Embeddabl..

프로그래밍/JPA 2024.01.10

kotest 관련 @Transactional rollback 안되는 이슈

test 코드의 상위 패키지 레벨에 아래 설정을 넣어준다. object KotestConfig : AbstractProjectConfig() { // rollback 관련 동작 안해서 아래 설정 추가 override fun extensions() = listOf(SpringTestExtension(SpringTestLifecycleMode.Root)) } https://kotest.io/docs/framework/project-config.html Project Level Config | Kotest Kotest is flexible and has many ways to configure tests, such as configuring the order of tests inside a spec, or h..

Kapt 관련 오류시 참조 (superclass access check failed)

superclass access check failed: class org.jetbrains.kotlin.kapt3.base.javac.KaptJavaCompiler (in unnamed module @0x37be58b7) cannot access class cohttp://m.sun.tools.javac.main.JavaCompiler (in module jdk.compiler) because module jdk.compiler does not export cohttp://m.sun.tools.javac.main to unnamed module @0x37be58b7 위와 같은 오류가 발생하길래 뭔가 했더니, Java9 이후부터 모듈 시스템이 등장 했는데, 이때문에 이런 오류가 발생하는 것 같다. JDK..

Jetbrains tool이 실행 안될때, Cannot connect to already running IDE instance

https://stackoverflow.com/questions/77003028/error-while-opening-intellij-idea-due-to-an-already-running-process Error while opening Intellij IDEA due to an already running process I am trying to open the Intellij IDEA on Mac, but it is showing the following error: Cannot connect to already running IDE instance. Exception: Process 464 is still I was able to open Intellij stackoverflow.com find ~..

Tool 2023.10.26

Goodbye, Yoda condition? (요다표현식)

https://seungdols.tistory.com/246 Yoda Condition 이란 방어코딩의 종류에 대해 알아보자!! 우리가 보통 C언어에서 if( 변수 == 상수 ) 이런 방식으로 많이 써왔는데 C 언어를 만든 개발자는 굉장히 똑똑한 사람이기에 자질구레한 실수를 하지 않는 사람이었나보다. if( val = literal) 이런 식 seungdols.tistory.com 2014년도쯤 C언어를 쓸 무렵에 Yoda condition을 접했고, 잘 썼던 기억이 있다. 오랜만에 다시 찾아보니, WordPress에서도 Fade out 된 것인가? 버그를 찾는데에는 능하지만, 코드를 읽기 어렵게 만든다는 것이 주된 내용이다. https://developer.woocommerce.com/2022/08/1..

승돌 쓰다 2023.10.10

confluent-kafka clients 다운로드가 안 될때

보통 kafka clients가 dependency가 아래 두 종류를 사용 할 것이다. // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients implementation("org.apache.kafka:kafka-clients:7.2.0-ccs") // https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients implementation("org.apache.kafka:kafka-clients:3.5.1") 그런데, 자꾸 ccs 버전을 쓰게 되면, 다운로드가 안되는 경우가 있다. 그럴때는 build.gradle.kts 파일의 repositories 블록을 확인 해보자. repos..

spring boot 3 + Hibernate 6 logging config

spring boot 3 + Hibernate6를 쓰면서 쿼리를 로깅 하기 위해서는 기존과 달라진 점이 있는데, 기존은 아래처럼 설정 했다. spring: jpa: show-sql: false properties: hibernate: format_sql: true logging: level: org.hibernate.SQL: debug org.hibernate.type.descriptor.sql: trace 아래처럼 설정 하면, 쿼리의 parameter가 잘 보인다. spring: jpa: show-sql: false properties: hibernate: format_sql: true logging: level: sql: debug org.hibernate.orm.jdbc.bind: trace

용어의 통일은 중요하다. (feat. 기본은 중요함)

실무 하면서 유지보수 하거나, 이관 받은 업무 코드를 보면 어디는 풀어서 쓰고, 어디는 다른 prefix 변수명을 쓰고 혼재 된 경우는 매우 빡치는 일이다. 아...모든 코드가 사연이 있겠지만, 도대체 이 용어, 저 용어 왜 섞어 쓰는걸까.. JPA를 쓰든, DTO, VO를 쓰든 용어의 통일은 기본 개념이고, 만약 바꾸고 싶다면, 컬럼명은 못바꾸더라도, alias 걸고 코드 내의 변수명들은 통일이 필요하다. 코드를 잘 짜는 것도 중요하지만, 변수명도 막 쓰는데, 코드를 잘 짤 수 있을리 없다. 그 정도조차 배려가 없는데, 코드에 배려가 묻어 날까? 결과적으로 가장 기본은 repository 안에서 쓸 용어를 통일 하는 것이다. 그 용어를 고르게 써야지만 다른 사람들이 이해하기 쉽다. 변수명이 아무리 길어..

승돌 쓰다 2023.08.28
반응형