본문 바로가기

전체 글161

JPA 엔티티 매핑 엔티티 매핑 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinmColumn @Entity 기본 생성자 필수 final 클래스, enum, interface, inner 클래스 사용 X 저장할 필드에 final 사용 X 데이터베이스 스키마 자동 생성 hibernate.hbm2ddl.auto 옵션 create, create-drop, update, validate, none 데이터베이스 스키마 자동 생성 - 주의 운영 장비에는 절대 create, create-drop, update 사용하면 안됨 개발 초기 단계는 create 또는 update 테스트 서버는 update 또는 validate 스테이.. 2022. 5. 11.
HelloJPA와 영속성 관리 - 내부 동작 방식 HelloJPA @Entity : JPA가 관리할 객체 @Id : 데이터베이스 PK와 매핑 JPA에서는 트랜잭션이라는 단위가 매우 중요하다. 그래서 데이터를 변경하는 모든 작업은 JPA의 트랜잭션 안에서 작업해야 한다. 저장 -> em.persist() 조회 -> em.find() : 한 객체 조회할때 삭제 -> em.remove() 수정 -> em.setOOO() 수정 부분에서는 따로 em.persist()를 안해도 된다. jpa가 자동으로 update 쿼리를 날려준다. 그 이유는 jpa를 통해서 entity를 가져오면 이 entity는 jpa가 관리를 한다. 그리고 jpa가 트랜잭션을 커밋하는 시점에 변경을 감지하여 업데이트 쿼리를 날린다. 주의 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전.. 2022. 5. 10.
목동역 근처 수제버거 - 목동버거 얼마전에 집근처에 목동버거에 다녀왔다.목동버거 세트 + 통새우버거 단품을 구매했다.가격은 13500원, 7500원 이었다.목동버거는 맛있었는데통새우 버거는 좀 아쉬웠다.통새우가 어니언링처럼 동그란 모양으로 나와서 양도 적고먹기 좀 불편했다.사실 카카오 평점이 높아서 기대를 많이했는데조금 실망했다 ^^;감자튀김이 맛있었다. 솔직히 이 가격이면쉑쉑버거나 프랭크 버거 갈것같다. ㅎ(목동 프랭크 버거가 아주 맛있음) 2022. 5. 9.
JPA에 대해.. 현재 데이터베이스 세계의 헤게모니(어떤 집단을 주도할 수 있는 권력이나 지위)는 관계형 DB이다. 지금 시대는 객체를 관계형 DB에 관리한다. 하지만 이는 패러다임의 불일치를 부른다. 객체 vs 관계형 데이터베이스 이기 때문이다. 개발자는 SQL에 의존적인 개발을 하게되고, 지루하고 반복적인 CRUD작업을 진행하는 SQL 매퍼가 된다. 객체답게 모델링 할수록 매핑 작업만 늘어난다. 객체를 자바 컬렉션에 저장하듯이 DB에 저장할 수는 없을까? 그 해답은 JPA 이다. JPA ? - JAVA Persistence API - 자바 진영의 ORM 기술 표준 ORM ? - Object-relational mapping (객체 관계 매핑) - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설.. 2022. 5. 9.
성신여대 제육볶음 맛집 - 제순식당 오늘 학교에 대면시험을 보러 갔다. 시험을 보고 나와서 점심을 먹어야하니  근처 성신여대에 내가 좋아하는 제육볶음 맛집 제순식당을 갔다. 10시쯤이라서 사람은 많지않았다. 두명이서 쭈제(쭈꾸미 + 제육)볶음 3인분을 시켰다.제육볶음이 7500원간장불고기, 쭈제볶음 8000원종류가 많으니 한번 드셔보시면 좋겠다.1인당 1인분 시키면 된장찌개나 순두부찌개를 2000원에 먹을 수 있다. 이집 제육의 큰 특징은 불맛이 정말 살아있다.성신여대에 올때마다 들르는 것 같다.강추 2022. 4. 26.
JPA 웹 계층 개발 - 홈 화면과 레이아웃 홈 화면과 레이아웃 lombok의 @Slf4j 를 사용하면 기존의 Logger, LoggerFactory의 기능을 그대로 사용할 수 있다. 참고: Hierarchical-style layouts 예제에서는 뷰 템플릿을 최대한 간단하게 설명하려고, header , footer 같은 템플릿 파일을 반복해서 포함한다. 다음 링크의 Hierarchical-style layouts을 참고하면 이런 부분도 중복을 제거할 수 있다. https://www.thymeleaf.org/doc/articles/layouts.html 현재는 Include-style layouts이지만 (예제에서 간단하게 하기 위해서) Hiearachical-style layout(계층 스타일 레이아웃)을 적용하면 코드중복 없이 깔끔하게 코딩할.. 2022. 4. 22.