일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- http
- jpa
- Servlet
- java
- 스프링 핵심 원리
- kotlin
- JDBC
- springdatajpa
- 자바
- QueryDSL
- Proxy
- 인프런
- 알고리즘
- Android
- transaction
- 스프링 핵심 기능
- db
- Exception
- 그리디
- Spring Boot
- JPQL
- SpringBoot
- Greedy
- Thymeleaf
- AOP
- pointcut
- 백준
- spring
- 김영한
- 스프링
- Today
- Total
목록java (156)
개발자되기 프로젝트
1. 정수 자료형의 종류와 크기 * 맨 처음 부호비트를 제외하기 때문에 2^(n-1) 2. int - 정수는 기본적으로 int로 잡힘 - 자바에서 정수에 대한 기본 자료형 - 4바이트 - 프로그램에서 사용하는 모든 숫자(리터럴)은 int로 저장됨 - 리터럴 : 프로그램 안에서 쓰는 값. 3. long - 8 byte - 숫자 뒤에 L or l을 붙여서 long형임을 표시 ex) long number = 123456789654654654L; --> ok long number = 123456789654654654; -->error :리터럴은 4byte에 잡혀야 하는데,, 123456789654654654 너무 큼 4. 실수 - 실수의 리터럴은 8byte(double)로 잡힘 - 실수는 기본적으로 double..
1. 2진수로 표현 0와 1로만 데이터를 저장 bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 메모리의 크기 byte(바이트) = 8bit 2. 2진수 8진수 16진수 - 8진수 : 1 ~ 7을 통해 3bit(111)를 묶어서 표현 가능 - 16진수 : 1 ~F를 통해 4bit(1111)를 묶어서 표현 가능 --> 갱장히 이득임. 왜? 10을 A로 쓰냐? 10진수 16을 16진수로 변환했을 때와 겹침. 그래서 알파벳으로. 3. 8비트로 5를 나타내기 4. bit 당 나타낼 수 있는 수의 범위 - 1bit : 0, 1 -> 2 - 2bit : 00, 01, 10, 11 -> 2^1 - 3bit : 000, 001, 010, 011, 100, 101, 110, ..
사실 ManyToMany관계를 직접적으로 많이 사용하지는 않는다고 한다. 그리고 ManyToMany는 내가 만들지 않은 중간 테이블을 생성하게 된다. 앞의 글에서 Book과 Author은 many to many 관계인데, 중간에 BookAndAuthor가 있다고 해보자. 즉, Book : BookAndAuthor , BookAndAuthor : Author의 관계이다. BookAndAuthor입장에서 정리하면 아래처럼 나타낼 수 있다. BookAndAuthor : Book = N : 1 BookAndAuthor : Author = N : 1 즉, 1개의 many to many 관계가 아니라, 2개의 many to one 관계로 변경이 가능하다. 1. BookAndAuthor - BookAndAuthor ..
이전에 작성한 ERD를 보면 book와 author가 다대다 관계이다. 1. Author Author와 Book은 M : N 관계이다. books에 @ManyToMany를 적용 @Entity @Data @NoArgsConstructor @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class Author extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long Id; private String name; private String country; @ManyToMany @ToString.Exclude private List ..
다른 entiry에 대해서도 연관관계를 맺어주자. 1. Book 1) Book : Review = 1 : N --> @OneToMany -->중간 table 만들지 않기 위해 @JoinColumn필수 @JoinColumn(name = "book_id") --> name = "one_PK", 현재 class의 PK를 many의 FK로. List reviews = new ArraryList(); --> Null Point Exception방지를 위해 생성. 2) Book : Publisher = N : 1 --> @ManyToOne @Entity @NoArgsConstructor @Data @EntityListeners(value = AuditingEntityListener.class) @ToString(c..
1 : N 연관관계 - 1 이전에 만들어둔 User entity와 User History는 1:N연관관계를 갖는다. User는 현재 회원정보를 가지고 있는 테이블이고 UserHistory는 특정 user id에 저장된 값이 변경된 내역을 저장하는 table이다. 1. test @.. bsh-developer.tistory.com 앞서 1 : N의 연관관계를 살펴보았다. 1 : N 관계를 이해하기 어려웠던 이유는 N(many)쪽에서 1(one)의 PK를 FK로 가지고 있었기 때문이다. 일반적으로는 @ManyToOne이 깰끔하게entity를 구성할 수 있따. 해당 entity가 필요로 하는 FK값을 entity가 함께 가지고 있다. 이전에는 User class에서 @OneToMany를 적용했다면, 이번번에는..
이전에 만들어둔 User entity와 User History는 1:N연관관계를 갖는다. User는 현재 회원정보를 가지고 있는 테이블이고 UserHistory는 특정 user id에 저장된 값이 변경된 내역을 저장하는 table이다. 1. test @Test void userRelationTest(){ User user = new User(); user.setName("David"); user.setEmail("dabid@navergoogle.com"); user.setGender(Gender.MALE); userRepository.save(user); userHistoryRepository.findAll().forEach(System.out::println); } } 먼저 relation을 테스트 하..
본격적으로 entity의 관계를 코드로 구현해보장. 1. Book 과 Book Review Info는 1:1 관계 이번에는 test코드에 BookRepository에 대한 의존성도 추가해보자. Book Review repository에서 아이디가 1인 리뷰를 찾고 그에 해당하는 book id를 가져와서 해당 book에 대한 정보를 출력해보자. @SpringBootTest class BookReviewInfoRepositoryTest { @Autowired private BookReviewInfoRepository bookReviewInfoRepository; @Autowired private BookRepository bookRepository; @Test void curdTest2(){ Book boo..