지금껏 DB 와 어플에서 쓰이는 객체를 연결시키느라 했던 수많은 노가다들... 모든 class마다 toMapForData, toJson, clone 등등을 만들며 지내던 시간들... 김영한 개발자님도 똑같았다고 하셨.... > ORM 기술을 활용하면, 객체와 관계형
개발을 하다보면, 특히 firebase 의 cloud-firestore 라는 read 나 write 회수마다 돈 결제가 나가는 baas(backend as a service) 를 활용하다 보니!!자연스럽게 어플 내에 캐시 컨트롤러를 고민하게 된다.데이터를 불러올때, 굳
Entity Manager 역할들flush 를 호출하는 함수1\. tx.commit()2\. em.flush()3\. JPQL 일어나면 옵션, default: 가능flush 가 호출되면관리하고 있던 Entity와 Snapshot 비교쓰기지연 SQL 저장소 트랜잭션 ->
여러가지 키 매핑을 객체 변수에 지정할 수 있음.@Id@Column(name = "oooo")@Enumerated(EnumType.STRING) <- number 말고 string 으로 하는게 국룰@Temporal(TemporalType.TIMESTAMP) <
아래는 다대다 관계인 Category 와 Item 의 외래키들을 저장할 중간 테이블이 추가되었다.(다대다는 가급적 비추!! 예시니깐 사용해 보는 것! feat.김영한 개발자님)Category 가 List<Item> 을 가지고, Item 은 List<Categ
em.find() 을 사용하면, 그 순간 DB 호출 함수를 실행하고, 해당 값을 반환해준다.그런데, jpa에서는 em.getReference() 라는 함수를 지원해준다.위 코드에서는 findMember의 그 어떤 데이터들도 활용이 되지 않지만, DB 호출 함수는 실행이
@Entity 로 정의하는 객체데이터가 변해도 식별자로 지속해서 추적 가능int, integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체식별자가 없고 값만 있으므로 변경시 추적 불가생명주기를 엔티티에 의존값 타입은 복잡한 객체 세상을 조금이라
JPA는 SQL을 추상화한 JPQL 이라는 객체 지향 쿼리 언어 제공!SQL 문법과 유사JPQL은 엔티티 객체를 대상으로 쿼리이를 SQL로 변환하여 데이터베이스 테이블을 대상으로 쿼리특정 데이터베이스 SQL에 의존하지 않음. (구현체에서 DB별로 적용되도록 할테니)JP
문자 : 'HELLO', 'She''s'숫자 : 10L, 10D, 10FBoolean : TRUE, FALSE (소문자도 됨)ENUM : \~~.ADMIN (패키지명 필요)엔티티 타입 : TYPE(m) = Member (상속 관계에서)이런식으로 JPQL 에서 쓰임JPQ