일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- https implement
- MySQL
- output stream
- InnoDB
- https go
- kotlin
- Java
- 코틀린 out
- standard output
- Test
- 개인블로그 hugo
- cli 만들기
- JPA
- 코틀린 in
- ruby
- 자바
- image resizer with go
- Pitest
- resize image with go
- Convariance
- https 실습
- 공짜블로그
- standard input
- 객체지향
- Mutation testing
- IntelliJ
- 코틀린
- https 서버 구현
- resizer 구현
- 돌연변이 테스팅
- Today
- Total
목록JPA (3)
Rlog
이 문서는 Hibernate ORM 공식문서를 읽으며 정리한 글입니다. Hibernate.Session 과 EntityManager 의 API 는 데이터를 지속성있게 다룰 수 있도록 해주는데 이를 Persistence Context 라 한다. Persistence Context 에서 관리되는 데이터는 기본적으로 database 와 persistence context 양쪽에서 연관된 상태로 관리된다. Persistence data 는 아래와 같은 생명주기를 가진다. LifeCycle 비영속 (transient) : 엔티티가 만들어졌지만 아직까지 Persistence Context 와 연관이 없는 상태를 뜻합니다. 위와 같이 Memer Entity 는 초기화가 됬지만, 아직 영속성 컨텍스트에 관리되지 않고있..
RDB 에서는 데이터들간의 연관관계는 있지만, 상속관계는 존재하지 않는다. 하지만 우리는 객체지향적으로 프로그래밍을 해야할때 상속이 필요할때가 있는데 JPA 에서는 이를 상속관계맵핑을 통해 지원한다. 이는 슈퍼타입 서브타입 논리 모델을 통해 실제 모델을 상속관계를 구성할 수 있는데 말이 어려우니 그림을 보자. 우리가 이런식으로 슈퍼타입 서브타입 모델을 실제 물리 모델인 테이블로 구현하기 위한 전략이 필요하다. 즉 쉽게 말해서 Album, Movie, Book 이 Item 을 상속받고 있는데 이것들을 어떻게 실제 물리 모델로 구현하냐이다. 조인전략 첫번째로는 조인 전략이 있다. 뭐 기존 RDB 를 엔티티로 가져오듯, 전부 Entity 각각으로 만들고 Entity 당 Table 을 만든다. 즉 Album, ..
Kotlin JPA 를 Gradle 기반으로 간단히 설정해보자. https://start.spring.io/ 위의 링크로 이동해서 아래 사진과 같이 옵션들을 골라주자. 고르고 압축풀고 Intellij 를 통해서 열어주자. Kotlin 은 JPA 를 쓰기 위해서 여러가지 설정이 필요한데 그 이유는 첫번째로, JPA 는 기본적으로 클래스를 final 형태로 사용하는데 이는 Hibernate 와 별로 어울리지 않습니다. 그 이유는 JPA 에서는 지연로딩을 하게 될 경우 프록시 객체를 만들어야 하는데 이때 class 에 final 이 있게 되면 프록시 객체를 만들 수 없게 됩니다. 따라서 all-open plugin 을 이용해야 합니다. 뭐, 이런 문제 때문에 data class 를 이용하는 사람들도 있지만 스..