엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적가능 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 식별자로 지속 추적 가능하다는 의미란? MemberVO memberVO = new MemberVO(); //member 클래스 인스턴스 private Long id; //식별자 private String name; //이름 private int age; //나이 // memeber 안에 식별자,나이,이름 존재한다하였을 경우 // 나이와 이름 값이 변경이 되어도 식별자는 변경되지 않는 값이므로 수정된 값을 찾을 수 있음을 의미 값 타입 int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/CDnXd/btsc7w58I7Z/TgUfIFrv65qHaVyPqJ8tLk/img.png)
호스트 파일 변경은 왜 함? 호스트 파일 변경하는 경우는 극히 드물다 개발자 입장에서는 만약 해당 사이트가 이전을 하게 될 때 도메인은 그대로가져가지만 서버가 변경되는 시점에서 ip는 변경되게 된다. 하지만 기존 사이트가 유지되고 있는 상황에서 새로 이전할 서버로 작업을 해야하는 상황이라면 자신의 로컬 컴퓨터에서만 해당 도메인으로 들어올 시 변경할 수 있다. 무슨 말인지는 직접 해보면서 확인해 보자. 호스파일 변경 방법 1.관리자 권한으로 cmd 실행 2.cmd에서 C:\Windows\System32\notepad.exe C:\windows\system32\drivers\etc\hosts 실행 3.해당 hosts 메모창이 뜨면 밑에 예시와 같이 작성하면 됨 그러면 특정 ip로 들어오는거를 해당 도메인으로..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cCqeow/btsc2pzlDG0/X2jpKoaaXtzyowgDtzyP21/img.png)
특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속상태로 만들고 싶을 때 예) 부모 엔티티를 저장할 때 자식엔티티도 함께 저장 //부모 : parent.class, 자식 : child.class 있을 경우 @oneToMany(mappedBy="parent" , cascade=CascadeType.PERSIST) 예시 Parent.class, Child.class 사용하여 설명 @Entity public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) //cascade 선언 List childList = new..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bqDrtz/btscZpNX8DG/tvKjLrL1ZWgVz5ytQDwzi1/img.png)
지연 로딩 예시 Member 와 team이 있을 경우 Member만 조회를 하고자 할 경우 Member와 team은 다 대 1관계를 가지고 있다. 이럴 경우 지연 로딩을 이용한다. fetch = FetchType.LAZY를 선언하여 사용 @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; @ManyToOne(fetch = FetchType.LAZY) // 관계를 가지는 대상에 fetch 선언 @JoinColumn(name = "TEAM_ID") private Team team; .. } 지연 로딩시 프록시 개념이 사용된다. 프록시와 같이 가짜 객체만 들..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/IyVmP/btscUv0IGlS/VEScMnWWuK5UugbiExJRrk/img.png)
프록시 특징 1 실제 클래스를 상속 받아서 만들어짐 실제 클래스와 겉 모양이 같다. 사용하는 입장에서는 진짜 객체인지 프록시 객체인지 구분하지 않고 사용하면 된다. 프록시 특징 2 프록시 객체는 실제 객체의 참조(target)를 보관 프록시 객체를 호출하면 프록시 객체는 실제 객체의 메소드 호출 프록시 객체의 초기화 Member member = em.getReference(Member.class,"1"); //쿼리를 요청하지 않음 member.getName(); //쿼리를 요청함 프록시 특징3 프록시 객체는 처음 사용할 때 한번만 초기화 됨 프록시 객체를 초기화 할 때, 프록시 객체가 실제 엔티티로 바뀌는 것은 아님, 초기화되면 프록시 객체를 통해서 실제 엔티티에 접근 가능 프록시 객체는 원본 엔티티를 ..
- Total
- Today
- Yesterday
- dockerfile
- LocalDate
- 도커
- Cache
- 개념 이해하기
- Java
- 리눅스
- 이미지
- mybatis
- Quartz
- ncp
- docker
- 정의
- 캐시
- insert
- hazelcast
- MySQL
- centos7
- 격리수준
- 캘린더
- 권한
- spring
- 컨테이너
- leatcode
- Lock
- 스케줄러
- dfs
- Linux
- 알고리즘
- 네이버 클라우드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |