Java147 [SpringBoot_JPA_1] @Inheritance @DiscriminatorColumn 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java 📚 수정일: 2023년 05월 30일 @Inheritance Entity Class간 상속 관계를 나타내는 Annotation 1. InheritanceType.SINGLE_TABLE: 단일 테이블 전략 - 부모 클래스와 자식 클래스의 모든 속성을 단일 테이블에 저장 - DTYPE 컬럼을 사용하여 엔티티 타입을 식별 2. InheritanceType.JOINED: 구분 컬럼 전략 - 각 클래스마다 별도 테이블 생성, 부모 클래스의 속성은 부모 테이블에, 자식 클래스의 속성은 자식 테이블에 저장 - 조인을 사용하여 관련 테이블을.. 2023. 5. 22. [SpringBoot_JPA_1] @OneToMany, @ManyToOne 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java @OneToMany Member : Order = 1 : 다, 한 명의 회원이 여러개의 상품 주문 양방향 연관 관계에서는 Member가 Order를, Order가 Member를 변경할 수 있는 문제가 발생 이를 해결하기 위해 Member or Order 둘 중 하나의 값이 변경될 경우에만, FK를 업데이트함(=연관관계의 주인) 연관 관계 주인: FK가 선언된 테이블 mappedBy: member에 의해 종속적으로 값을 전달받음 ▶ orders 값은 FK에 영향 X, member 값은 FK에 영향 O @ManyToOne Orde.. 2023. 5. 21. [SpringBoot_JPA_1] @Embeddable, @Embedded 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java @Embeddable, @Embedded: 새로운 값 타입을 직접 정의하여 사용 @Embeddable: 값 타입을 정의하는 곳에 기재 * 기본 생성자 필수 @Embedded: 값 타입을 사용하는 곳에 기재 ⭐ 장점 - Embedded 타입을 사용하기 전과 후에 매핑하는 테이블이 같음 - 해당 값 타입만 사용하는 의미 있는 메소드를 만들 수 있음 + @AttributeOverride: 중복된 Embedded 타입 사용 시, 새로운 Column name 지정 참고 자료 JPA - Entity의 가독성을 높이자(@Embedded, .. 2023. 5. 21. [해결 방법] SQLGrammarException: could not prepare statement 🟦 기본 환경: IDE: IntelliJ, Language: Java 발생 Error SpringBoot에서 다음 Source Code를 실행할 경우, 🚨다음과 같은 Error 발생 could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement 발생 원인 환경 설정 파일 application.yml에서 띄어쓰기 오류 해결 방법 계층 구조에서 띄어쓰기 맞추기 및 ddl-auto:create → ddl-auto: create 띄어쓰기 추가 2023. 5. 21. [해결 방법] javax.persistence.TransactionRequiredException 🟦 기본 환경: IDE: IntelliJ, Language: Java 발생 Error SpringBoot에서 다음 Source Code를 실행할 경우, 🚨다음과 같은 Error 발생 No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call; nested exception is javax.persistence. 발생 원인 JPA는 transaction을 기반으로 작동하므로 JPA사용 시, @Transactional 선언 필요 해결 방법 Class에 @Transactional 추가 2023. 5. 21. [자바의 정석_기초편] Chapter10. 날짜와 시간 & 형식화 이 글은 남궁성의 정석코딩 [자바의정석-기초편]을 수강하며 정리한 글입니다. 🟣 기본 환경: IDE: Eclipse, Language: Java java.util.Date: 날짜와 시간을 다룰 목적으로 만들어진 class Date Method는 거의 deprecated(앞으로 사라질 수도 있으니 사용하지 말라)되었지만, 여전히 사용 중 java.util.Calendar: Data class를 개선한 새로운 class java.time package: Data와 Calendar의 단점을 개선한 새로운 class를 제공 Calendear class(abstract class) -> 인스턴스 생성할 수 X Calendar cal = new Calendar(); (X) -> getInstance() method.. 2023. 5. 20. 이전 1 ··· 15 16 17 18 19 20 21 ··· 25 다음