Spring/JPA
Hibernate 신기능 @SoftDelete 기능
Hibernate 신기능 @SoftDelete 기능
2024.04.10Spring Boot도 벌써 3.2.X버전대가 릴리즈 되었고, 그에 따라서 자동으로 하이버네이트도 마이너 버젼 업데이트가 되었습니다. 6.4 버젼부터 해당하는 기능을 사용할 수 있습니다. 해당하는 기능을 한번 사용해보고 싶어서 테스트 해봤습니다. 일단 기본적으로 스프링 부트는 3.2.1 부터 사용 가능할 수 있으므로 참고 부탁드립니다. 기존에 사용하던 Soft Delete 방식 기존에는 Soft Delete기능을 사용하기 위해서는 개념적으로 사용해야하는 @Where절과 같은 기능을 사용하여, 삭제 컬럼에 대한 flag에 대한 조건을 엔티티 자체에 붙여서 사용해야했다. 그리고 삭제조건을 자동으로 update절로 바꿔서 처리할 수 있는 @SqlDelete문 과 같은 어노테이션이 필요했다. 즉, 개념적인 So..
Spring boot 3.0.0 SQL Basic Binder 로깅 안되는 문제 해결기
Spring boot 3.0.0 SQL Basic Binder 로깅 안되는 문제 해결기
2022.12.02스프링부트에서 SQL문을 로깅하자 JPA에서 sql문 로깅하기 위해서는 application.yml에서 로깅레벨이나 옵션 사용해서 문제해결을 한다. spring: jpa: properties: hibernate: format_sql: true use_sql_comments: true logging: level: org.hibernate.SQL: debug org.hibernate.type.descriptor.sql: trace 이러면 JPA를 통해서 만들어지는 SQL문을 확인해볼 수도 있고… SQL문에서 발생하는 ?를 통해 들어가진 값들도 확인이 가능하다. 아래는 2.7.6 Spring boot 버젼입니다. 아래는 3.0.0 Spring Boot 버젼입니다. Spring Boot 3.0.0 버젼으로 넘어..
JPA, JDBC의 DB MultiDataSource 적용하기
JPA, JDBC의 DB MultiDataSource 적용하기
2021.09.01JPA와 JDBC를 동시에 쓰고 싶다! JPA 그리고 JDBC 를 동시에 사용하는 방법은 그렇게 어렵지 않다. JPA 의존성 밑에 JDBC가 포함되어있어서 JDBC template를 이미 사용할 수 있는 구조로 되어있어서 의존성을 또 추가하지 않아도 되는 구조로 구성되어있다. 그래서 JPA 와 JDBC를 통해서 코드를 구성하는 편이 훨씬 편한 방식으로 코드를 짜는데 더 편리하다. 왜냐하면 JPA를 사용하면서 Mybatis와 같은 다른 형식의 코드를 사용하려면 그것에 맞는 형식을 또 따로 잡아줘야하는데 JDBC는 결국 의존성이 포함되어있는 형식으로 되어있어서, 큰틀은 변하지 않는다는 점을 잘 활용하는 것이 좋다. 문제는 이 두개를 동시에 다른 DB를 사용하는 경우 간단한 세팅으로는 문제 해결이 재대로 진행..
Spring Data JPA에서 Query를 사용하는 방법
Spring Data JPA에서 Query를 사용하는 방법
2020.09.06쿼리를 자동 생성해준다고? Spring boot를 통해서 개발을 하게 된다면, DB에 데이터를 삽입, 읽기 등 여러 가지 작동을 하기 위해서는 방식이 필요하다. 쿼리를 작동시키는 방식에는 여러 가지 방식이 존재한다. 실제로 현재 Spring Data JPA를 사용하면 꽤 편리한점이 있기 때문에, 그 점을 잘 이용하기 위해서는 결국에는 Query를 "자동 생성할 수 있는 포인트를 아는 것이 좋다." 하지만 하나 짚고 넘어가야 할 점 김영한님의 JPA강좌에서는 다음과 같이 주의점을 준다. 스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술입니다. 따라서 JPA를 먼저 학습한 후에 스프링 데이터 JPA를 학습해야 합니다. JPA를 좀 더 구체적으로 배운 뒤에 Spring Data JPA를 사용하..