Backend

이번에는 JPA Entity에서 이벤트가 발생할 때마다 특정 로직을 실행시킬 수 있는 @EntityListeners를 정리해보려고 한다. 예제 코드는 Spring boot와 Kotlin을 사용하여 작성하였다. JPA EntityListeners 란? 하이버네이트 문서에서는 JPA Entity에 이벤트가 발생할 때 콜백을 처리하고 코드를 실행하는 방법이라고 소개하고 있다. 이제 하이버네이트에서 지원하는 콜백 메서드들을 살펴보자. EntityListeners는 JPA Entity에 Persist, Remove, Update, Load에 대한 event 전과 후에 대한 콜백 메서드를 제공한다. 이번 글에서는 간단한 예제로 Update 하는 코드를 작성해보려고 한다. 예제 코드 @Component class U..
출처: https://ict-nroo.tistory.com/129 [JPA] @MappedSuperclass @MappedSuperclass객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다.id, name은 객체의 입장에서 볼 때 계속 나온다.이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아 ict-nroo.tistory.com @MappedSuperclass 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다. id, name은 객체의 입장에서 볼 때 계속 나온다. 이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아서 사용하고 싶을 때 @MappedSuperclass를 사용한다. DB 테이블과는 상관없다. 아래에 보면 DB는 매핑 정보 다 따..
출처: https://bangu4.tistory.com/199 [Java] Annotation 어노테이션 - 총정리 1. 어노테이션이란? 자바 어노테이션(Java Annotation) 에노테이션은 주석이라는 의미를 가진다. 자바 소스 코드에 사이에 @ 기호를 앞에 붙여서 사용하는데, JDK 1.5 버전 이상에서 사용 가능하다. 어 bangu4.tistory.com 1. 어노테이션이란? 자바 어노테이션(Java Annotation) 에노테이션은 주석이라는 의미를 가진다. 자바 소스 코드에 사이에 @ 기호를 앞에 붙여서 사용하는데, JDK 1.5 버전 이상에서 사용 가능하다. 어노테이션의 용도 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할..
출처: https://loosie.tistory.com/829 스프링 부트에서 Logback 사용하기 스프링 부트에선 기본적으로 Logback이 설정되어 있다. 다음과 같이 SLF4J의 3가지 모듈이 이어져 Logback과 연결된다. 다음과 같이 spring-boot-starter-logging 라이브러리에 기본적으로 설치되어 있다. Controller에 로그 API를 작성하여 기본적으로 로깅이 뭔지 모두 호출해보자. /** * trace < debug < info < warn < error * default : info */ @RestController public class FooController { private final Logger log = LoggerFactory.getLogger(this..
출처: https://pravusid.kr/java/2018/10/10/spring-database-initialization.html Spring-data-JPA와 DBMS를 연결해서 사용할 때 간편히 개발환경의 변경사항을 적용하여 테스트 할 수 있다. 특히 테스트를 위한 in-memory Database인 H2 Database를 염두에 둔 DB 초기화 전략에서 신경쓸 점을 간략히 정리해보았다. DDL generation Spring은 EntityScan을 통해 @Entity 애노테이션이 명시한 클래스를 찾는다. spring.jpa.generate-ddl=true 옵션을 true로 설정하면 해당 데이터를 근거로 서버 시작 시점에 DDL문을 생성하여 DB에 적용한다. jpa.generate 설정은 JPA..
출처: https://velog.io/@jyyoun1022/Spring요청받기-어노테이션 @RequestMapping @RequestMapping에서 value 표기하지 않기! @ReponseBody로 응답이 뷰를 거치지 않고 바로 웹브라우저로 이동하게 합니다. @RequestMapiing에서 파라미터가 1개(URL지정)만 있다면 value를 생략할 수 있습니다. @RequestMapping("/sample/not-value") @ResponseBody public String sample1(){ return "RequestMapping without value property"; } http://localhost:8080/sample/not-value @PathVariable로 URL경로 매개변수 읽기..
Say simple
'Backend' 카테고리의 글 목록 (6 Page)