개발/Java
[Java] JPA 프록시와 연관관계 관리
안녕하세요. 코딩하는헬린이 입니다. Spring data Jpa 만 사용해보다가 인프런에 김영한님의 JPA 자체 강의를 접하는 기회가 생겼습니다. 강의 내용의 토대로 정리해보도록 하겠습니다. #프록시 Entity 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다. 이와 관련 된 기술이 프록시 인데, 이 프록시를 통해서 즉시로딩 ( EAGER ) 과 지연로딩 ( LAZY ) 을 할 수 있다. #메소드 em.find() 는 DB를 통해서 실제 엔티티 객체를 바로 조회 em.getReference() 는 DB의 조회를 미루는 가짜(프록시) 엔티티 객체를 조회 #예제 public void memberSelect() { Member findMember = entityManager.find(Member.clas..
[Java] Optional을 이용한 새로운 null 처리
안녕하세요 코드짜는헬린이입니다. 오늘은 코딩을하며 쉽게 마주칠수 있는 NullPointException (NPE)에 대하여 처리 방법에 대한 포스팅을 할려합니다. 요즘은 제가 프로젝트를 진행하며 자바6....을 사용하느라 삼항연산자를 통한 Null 처리도 안되는거 같아서 Null 처리를 아래와 같이 하였습니다. if(str!=null)[ }else if(str1!=null){ }else if(str2!=null){ }else{ } 어쩔수없이 코드가 지저분해지고 길어지기 마련입니다. 그래서 JDK8 부터는 보다 깔끔하게 Null 처리를 할 수 있는 Optional을 사용합니다 #Optional 이란 ? Optional는 “존재할 수도 있지만 안 할 수도 있는 객체”, 즉, “null이 될 수도 있는 객체”..