본문 바로가기

전체 글

(142)
24.02.21 오늘은 테이블과 객체 매핑, 컬럼 스키마 매핑에 대해 배워보자. 우선 테이블 객체 매핑이다. @Entity 어노테이션이 붙은 클래스만 JPA는 Entity로서 관리 하게 됨. 이 어노테이션이 붙지 않는 데이터는 JPA관리 밖. 이중 중요하게 다뤘던 매핑 전략에 대해 정리해보자. @Id @GeneratedValue Entity의 Primary Key값을 설정할 때 사용한다.이 어노테이션을 달아주면 코드단에서 Id값을 넣어주지 않으면 알아서 Id를 넣어준다. 이때 세가지 전략이 존재함 IDENTITY, SEQUENCE , TABLE [IDENTITY] 이 전략은 현재 연결된 DB의 ID 생성 전략을 따르는 것. MySQL은 AutoIncrement임. 따라서 자동으로 1씩 증가시켜줌 Oracle이나 H2는 ..
[프로그래머스] 뒤에있는 큰 수 찾기 //100만개의 원소를 for문을 돌면서 탐색하는건 무조건 시간초과임 //sort도 못함 각 인자의 순서로 해야함. //최악의 경우가 맨 마지막에 가장 큰수가 있을 경우 100만개의 행을 다 비교하면서 돌아야됨 //적합한 자료구조가 있나..? 큐? //어떻게 쓸건데? 큐는 못씀 중간에 껴있는 값들을 비교해야 하는데 그걸 못하니까 //완전 탐색? 그건 필요 없을거 같은데 for문과 다르지 않잖아 //스택 : 원소들을 쌓고 새로 들어온 값이 마지막 원소보다 커? 팝(새로운 원소값으로) 다시 비교해서 커? 팝 //새로운 원소는 다시 스택에 넣고 //그럼 이걸 인덱스 관리를 어떻게 할건데?? 팝할 때 그 인덱스는 어떻게 알지?? //아 인덱스를 넣어준다? 스택에다가??? //스택에 인덱스를 넣어줘 //비교할 땐..
24.02.20 어제에 이어 JPA 강의를 들으면서 내가 생각했던 의문점이 풀림! JPA를 이해하려면 영속성에 대한 이해가 필요함. 영속성이란 자바 App과 DB를 연결시켜주는 통로 같은 것. 자바의 객체를 DB에 넣을 때 영속성 상태가 된 상태에서 넣어주는것! 자바의 Entity는 영속성 컨텍스트 안에 들어가지 않으면 아직 DB과 관계없는 그냥 순수한 객체임. 영속성 컨텍스트에 들어가게되면 이제 이 객체는 DB와 연관을 맺게 되는 것. 그럼 영속성은 어떻게 관리되는지? 바로 EntityManager의 persist()메서드를 이용해 객체를 영속성 컨텍스트에넣어준다. 또한 find를 해서 DB로부터 조회한 데이터도 영속성 컨텍스트 안에 들어가 영속 상태로 들어감! 이렇게 영속성이 되면 주는 이점은 다음과 같음 1. 1차..