본문 바로가기

전체 글120

JPA - 준영속, 병합 1. 준영속 영속성 컨텍스트가 관리하는 영속 상태의 엔티티가 영속성 컨텍스트에서 분리(detached)된 것을 준영속 상태라 한다. 준영속 상태의 엔티티는 영속성 컨텍스트가 제공하는 기능을 사용할 수 없다. 준영속 상태를 만드는 방법 3가지 1 em.detach(entity) 특정 엔티티만 준영속 상태로 전환 2 em.clear() 영속성 컨텍스트를 완전히 초기화 3 em.close() 영속성 컨텍스트를 종료 detach(Entity) public void testDetached() { // 회원 엔티티 생성, 비영속 상태 Member member = new Member(); member.setId("memberA"); member.setUsername("회원A"); // 회원 엔티티 영속 상태 em.p.. 2022. 4. 8.
JPA - 플러시 플러시 발생 영속성 컨텍스트의 변경내용을 데이터 베이스에 반영한다. 구체적으로 다음과 같은 일이 순차적으로 일어난다. 변경 감지가 동작해서 영속성 컨텍스트에 있는 모든 엔티티를 스냅샷과 비교해서 수정된 엔티티를 찾는다. 수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록한다. 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송한다(등록, 수정, 삭제 쿼리) 참고로 플러시는 영속성 컨텍스트를 비우지 않는다. 플러시는 영속성 컨텍스트의 변경 사항들과 DB의 상태를 맞추는 작업이다. 영속성 컨텍스트의 변경내용을 DB에 동기화한다. 영속성 컨텍스트를 플러시하는 방법 em.flush() - 직접호출 트랜잭션 커밋 - 플러시 자동 호출 JPQL 쿼리 실행 - 플러시 자동호출 1. 직접호출 // 영.. 2022. 4. 8.
JPA - 영속성 컨텍스트 영속성 컨텍스트의 뜻은 "엔티티를 영구 저장하는 환경" 이라는 뜻이다. em.persister(Entity)는 사실 DB에 저장하는 것이 아니라 영속성 컨텍스트에 저장하는 것이다. 영속성 컨텍스트는 논리적인 개념으로 눈에 보이지 않는다. 엔티티매니저를 통해서 영속성 컨텍스트에 접근 (엔티티매니저가 생기면 영속성 컨텍스트도 생긴다.) 엔티티 매니저 팩토리와 앤티티 매니저 J2SE 환경과 J2EE, 스프링 프레임워크 환경의 차이 *J2SE란 - Java 2 Standard Edition(기본 환경) 엔티티의 생명주기 비영속(new/transient) 비영속 컨텍스트와 전혀 관계가 없는새로운 상태 영속(managed) 영속성 컨텍스트에관리되는 상태 ★영속성 상태란 정확하게 말하면 1차 캐시 저장소에 올라가있는.. 2022. 4. 7.
w3스쿨즈 HTML(12) - Code, 엔티티, 심볼, 이모티콘, charset, URL, XHTML 태그 : 컴퓨터 코드를 정의 x = 5; y = 6; z = x + y; 태그는 여분의 공백과 줄 바꿈을 유지하지 않습니다. 이 문제를 해결하기 위해 요소를 요소 안에 넣을 수 있습니다. x = 5; y = 6; z = x + y; 태그 : 키보드 입력을 정의함 Save the document by pressing Ctrl + S 태그 : 프로그램 또는 컴퓨팅 시스템의 출력을 정의 If you input wrong value, the program will return Error! 태그 : 변수를 정의함 변수는 수학 표현식의 변수이거나 프로그래밍 컨텍스트의 변수 일 수 있습니다. E = mc2. //출력값 : E = mc2 엔티티 일부 문자는 HTML로 예약되어 있습니다. HTML의 예약 문자는 문자 엔.. 2022. 4. 6.
JPA를 배워야 하는 이유 JPA를 배워야 하는 이유 1. SQL 중심적인 개발의 문제점 지루한 코드를 무한반복 개발해야한다. 자바 객체를 SQL로 SQL을 자바객체로 매핑해주어야 한다 사실상 개발자는 SQL Mapper의 역할을 하게 된다. class Member { private String userId; private String username; } INSERT INTO MEMBER VALUES (.....) 만약 Member 테이블에 필드가 추가되면, Member 테이블과 관련된 모든 쿼리는 수정이 필요하다. 2. 패러다임의 불일치 객체 vs 관계형 데이터베이스 ‘객체 지향 프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공한다.’ 객체를 영구 보관하는 다양한.. 2022. 4. 6.
w3스쿨즈 HTML(11) - 반응형 웹디자인 반응 형 웹 디자인은 모든 장치에서 잘 보이는 웹 페이지를 만드는 것입니다. 반응 형 웹 디자인은 화면 크기와 뷰포트에 따라 자동으로 조정됩니다. 반응 형 웹 사이트를 만들려면 모든 웹 페이지에 다음 태그를 추가하십시오. Responsive Images(반응형 이미지) 반응 형 이미지는 모든 브라우저 크기에 맞게 확장 할 수있는 이미지입니다. CSS width 속성을 100 %로 설정하면 이미지가 반응형이고 확대 및 축소됩니다. 위의 예에서 이미지를 원래 크기보다 크게 확대 할 수 있습니다. 대부분의 경우 더 나은 솔루션은 max-width 속성을 대신 사용하는 것입니다. max-width 속성을 100 %로 설정하면 이미지가 필요한 경우 축소되지만 원래 크기보다 크게 확대되지는 않습니다. width, .. 2022. 4. 4.