목차 스타일1 HTML 변경하기 바로 전 부분에 코드를 추가해줍니다. 자신의 스킨에서 본문 내용이 시작되는 부분을 찾아 추가해줍니다. 바로 전 부분에 추가해줍니다. CSS 변경하기 자신의 스킨에 맞게 변경이 필요할 수 있습니다. /* TOC CSS Start */ .toc-absolute { position: absolute; } .toc-fixed { position: fixed; top: 130px; } .toc { right: calc((100% - 840px) / 2 - 300px); width: 180px; padding: 0 10px 0 10px; box-sizing: border-box; } .toc-list { margin-top: 10px !important; font-size: 12px..
전체 글
본 포스팅은 인프런 - 자바 ORM 표준 JPA 프로그래밍 (기본편) 을 강의를 바탕으로 공부하고 정리한 글입니다. 경로 표현식 경로 표현식은 .(점)을 찍어 객체 그래프를 탐색하는 것이다. 상태 필드(static field) : 단순히 값을 저장하기 위한 필드 연관 필드(association field) : 연관관계를 위한 필드 단일 값 연관 필드 : @ManyToOne, @OneToOne, 대상이 엔티티 컬렉션 값 연관 필드 : @OneToMany, @ManyToMany, 대상이 컬렉션 특징 상태 필드 : 경로 탐색의 끝이며, 더이상 탐색이 불가능하다. String query = "select m.username, m.age from Member m"; 단일 값 연관 필드 : 묵시적 내부 조인이 발생..
PR 템플릿 사용하기 프로젝트 최상단에 .github 폴더를 만든다. mkdir .github .github 폴더 내에 PULL_REQUEST_TEMPATE 이름으로 md 파일을 만든다. 📁 PULL_REQUEST_TEMPLATE.md ## 👀 관련 이슈 close #이슈번호 ## ✨ 작업 내용 - ## 🙏 리뷰 요구 사항 - ## 📢 논의하고 싶은 내용 - ## 🎸 기타 사항 - [링크]() ISSUE 템플릿 사용하기 .github 폴더 내에 ISSUE_TEMPLATE 폴더를 만든다. ISSUE_TEMPLATE 내에 이슈 타입에 맞는 md 파일을 만든다. 📁 ISSUE_TEMPLATE/feat.md --- name: ✨ Feature about: feature 관련 이슈입니다. title: '' lab..
에러 원인 MySQL에서 row를 삭제하려고 하는데 다음과 같은 에러가 발생했다. Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails 현재 삭제하려고 하는 row를 다른 테이블에서 참조하고 있기 때문에 삭제하거나 변경할 수 없다는 것이다. 에러 해결 방법1) 참조하는 데이터를 먼저 삭제하고 삭제하기 FK로 참조하는 row를 삭제한 뒤 에러가 발생했던 row를 다시 삭제해주면된다. 이 방법이 가장 안전한 방법으로, 기존 DB 설계자가 의도한 대로 데이터의 관계를 유지할 수 있다는 장점이 있다. 방법2) 외래키 체크 설정을 해제하기 -- 외래키 체크 해제(0)/설정(1) set foreign_key_che..
개발을 하다보면 정적 팩토리 메서드를 자주 사용하게 된다.그런데 문득 정적 팩토리 메서드를 왜 사용하는 것인지 정확히 알지 못한채 사용한다는 생각이 들어 정적 팩토리 메서드를 왜 사용해야하는지 한번 정리해보려고 한다. 정적 팩토리 메서드란?우선 팩토리(factory)라는 용어는 GoF 디자인 패턴 중 팩토리 패턴에서 유래한 단어로, 객체를 생성하는 역할을 분리한다는 의미가 담겨 있다. 따라서 정적 팩토리 매서드란 객체 생성의 역할을 하는 클래스 메서드이다.직접적으로 생성자를 통해 객체 생성을 하는 것이 아니라 객체 생성 역할을 대신해주는 정적 팩토리 메서드를 사용해 객체 생성을 하는 것이다. 왜 생성자 대신에 정적 팩토리 메서드를 통해 객체를 생성하는 것일까?생상자와 정적 팩토리 메서드는 객체를 생성한다..
본 포스팅은 [인프런] 스프링 DB 1편 - 데이터 접근 핵심 원리 강의를 바탕으로 공부하고 정리한 글입니다. 트랜잭션 커밋, 롤백 트랜잭션 전파에 대해 알아보기 이전에 간단한 트랜잭션 코드를 통해 트랜잭션이 어떻게 동작하는지 확인해보자. @Slf4j @SpringBootTest class BasicTxTest { @Autowired PlatformTransactionManager txManager; @TestConfiguration static class Config { @Bean public PlatformTransactionManager transactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSou..
본 포스팅은 [인프런] 스프링 DB 2편 - 데이터 접근 활용 기술 강의를 바탕으로 공부하고 정리한 글입니다. 스프링 트랜잭션 스프링 트랜잭션 사용 방식 1. 선언적 트랜잭션 관리 @Transactional 애노테이션을 선언해 트랜잭션을 적용 해당 로직에 트랜잭션을 적용하겠다고 선언하기만 하면 트랜잭션이 적용되는 방식 2. 프로그래밍 방식 트랜잭션 관리 트랜잭션 매니저 또는 트랜잭션 템플릿 등을 사용해 트랜잭션 관련 코드를 직접 작성하는 방식 프로그래밍 방식의 트랜잭션 관리를 사용하면, 애플리케이션 코드가 트랜잭션이라는 기술 코드와 강하게 결합되기 때문에 실무에서는 대부분 선언적 트랜잭션 관리를 사용한다. 스프링이 제공하는 트랜잭션 AOP 스프링은 트랜잭션 AOP를 처리하기 위한 모든 기능을 제공한다. ..
🔥 문제 발생 상황 com.amazonaws.SdkClientException: Failed to connect to service endpoint: at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:100) ~[aws-java-sdk-core-1.11.792.jar:na] at com.amazonaws.internal.EC2ResourceFetcher.doReadResource(EC2ResourceFetcher.java:70) ~[aws-java-sdk-core-1.11.792.jar:na] at com.amazonaws.internal.InstanceMetadataServiceResourceFetche..