11:40
객체 세상에서 Member 에서 Team으로 갈 수 있다. 반대로 Team에서 Member로는 갈 수 없다. 그 이유는 참조가 없기 때문이다.
테이블 세상에서는 JOIN 을 통해 반대로도 갈 수 있다.
즉, 객체는 한 방향으로 흐르고 테이블은 서로 왔다갔다 할 수 있다.
19:00 레이어드 아키텍처 (엔티티 신뢰 문제)
그 다음 계층에서 신뢰를 한 상태에서 사용한다. 물리적으로는 service, dao 등으로 나뉘어져있지만 논리적으로는 신뢰가 가지 않는다.
그래서 개발자들은 계속해서 고민해 왔다.
객체를 자바 컬렉션에 저장 하듯이 DB에 저장할 수는 없을까?
그 고민의 결과가 바로 JPA (Java Persistance API)
• 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유
• 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야 한다).
• JPA의 모든 데이터 변경은 트랜잭션 안에서 실행