JPA 를 다중 Datasource 로 구성할때, LocalContainerEntityManagerFactoryBean 에서 프로퍼티를 setJpaPropertyMap 을 이용해 설정 할 때 key 값 리스트는 아래와 같다. hibernate.dialect : Hibernate가 사용하는 SQL dialect를 지정합니다. hibernate.hbm2ddl.auto : DDL 생성 전략을 지정합니다. hibernate.show_sql : SQL을 출력할지 여부를 지정합니다. hibernate.format_sql : SQL을 포맷할지 여부를 지정합니다. hibernate.use_sql_comments : SQL에 주석을 추가할지 여부를 지정합니다. hibernate.connection.driver_class..
이벤트 실행시점 설명 @PrePersist 엔티티가 생성될 때 엔티티가 생성될 때마다 실행되어야 하는 로직을 구현하는 데 사용됩니다. 예를 들어, 엔티티가 생성될 때마다 현재 날짜를 값으로 설정하는 로직을 구현할 수 있습니다. @PreUpdate 엔티티가 업데이트 될 때 엔티티가 업데이트될 때마다 실행되어야 하는 로직을 구현하는 데 사용됩니다. 예를 들어, 엔티티가 업데이트될 때마다 변경된 값을 기록하는 로직을 구현할 수 있습니다. 특정값을 변경했을 때 변경일을 등록하는 부분을 작성할일 있었는데 나는 @PrePersist 가 Insert, Update 시에 동일하게 작동한다고 생각하고 코드를 작성했는데 Update 테스트를 아무리해도 적용이 되질 않아... 혹시 엔티티가 생성될 때만 되나하고 Insert..
사내에 querydsl 설정을 아주 잘 하는 동료가 있다면 문제가 없겠지만,저와 같이 홀로 분투하시는 분들을 위해 저도 지금까지 이 방법 저 방법 해오다가깔끔하게 해결된 상태를 공유하고자 합니다. 저도 Q클래스 생성하는 법을 여러 설정법으로 올렸었고,마주하던 여러 오류상황들을 조치했던 글을 서너개 포스팅 했는데...지속적으로 불편한 상황들이 계속 발생 되었고, 주변 동료들에게도 빈번하게 발생하여이 상황을 문제없게 해결하고자 QueryDSL 설정을 다시 건드려보게 되었습니다. 초반에는 설정에 대한 이해가 부족한 상태였던 것 같고 지속적으로 이 부분을 마주하다 보니 깨달음이 온 것 같네요. 이번 포스트는 인텔리제이에서의 방법입니다. 이클립스나 STS 를 사용하시는 분들은 아래 포스트로 진행하..
querydsl로 테스트 할께 있어서 q클래스를 가져다가 사용하는데 import 가 안되는 현상 발생... 잘 됐던 repository 에서도 인식이 안되고 기존 import 된 라인들이 다 인식 안되길래 프로젝트 트리를 보니 generated 폴더가 일반 폴더처럼 잡혀있는 것을 확인 Project Structure > Project Settings > Modules 에 가서 프로젝트명.main 을 선택하고 generated 폴더를 source 로 잡아준다. generated 폴더가 바뀌었다. 그리고 repository 가서 보니 Q클래스들이 정상적으로 인식되는 것을 확인했다. 이게 보니까 빌드툴을 IntelliJ IDEA 로 쓰면 알아서 잘 잡고 있는데 Gradle 로 쓸때 뭔가 어떤 상황에 의해 풀리..
프로젝트에 QueryDsl 을 잘 적용하여 진행중에 갑자기 느닷없이 빌드오류가 발생해서 봤더니 예전에 발생했던 Qclass 심볼을 찾을 수 없다는 오류... D:/GitHub/sample/src/main/java/.../SampleCustomRepository.java:6:36 java: cannot find symbol symbol: class QSampleEntity location: package com....sample.entity 아래 글에서 gradle 설정으로 해결을 했던 상황이기 때문에 동일 문제 아닐 것이라 보고 다른 케이스를 찾아보았다. [SpringBoot] QueryDSL Q클래스 빌드오류 해결 (feat.intelliJ) 지난번 이클립스(STS)와 인텔리제이에서 QueryDSL Q..
JPA를 꾸준히 이용하며 학습중인데 이번에 테이블 연관관계를 설정하다가 복합키테이블을 연관지을일이 생겼다. 내 머리속으로 이해한데로 엔티티를 구성하고 테스트 쿼리를 수행했으나... 조인들이 제대로 걸리지 않았다. 그래서 무언가 복합키 상황일때 엔티티간 연관관계를 잘못 구성했는가 싶어 예제 테이블 만들어 다시 처음부터 구성해봤다. 테이블 구조는 아래와 같다. 사용자 정보가 있는 Users 테이블이 있고 권한정보가 있는 Roles 테이블이 있다. 그리고 유저에게 할당된 권한정보가 있는 UserRoles 테이블이 있다. UserRoles는 Users의 키와 Roles의 키를 포함하는 식별관계이다. UserRoles 엔티티의 키값이 2개가 되어 일반 엔티티를 구성할 수 없다. 이런 복합키를 가진 엔티티를 구성하..