CS 잡지식 썸네일형 리스트형 인텔리J - 메서드의 매개변수 조회 단축키(Feat. ctrl + P) public Member find(Long memberId){ return entityManager.find(???? 어떤 매개 변수를 넣어야 하지????); } 종종, API나, 내가 직접 개발한 메서드의 [매개 변수] 타입, [매개 변수] 갯수 등에 대한 정보가 가물가물할 때가 있다. 그럴 떄, 인텔리J에서는 유용한 단축키 [Ctrl + P]를 제공한다. 해당 단축키를 누르면, 위 사진과 같이, 매개 변수에 대한 정보가 나온다. 더보기 JPA에서 같은 [식별자]로 Context에서 조회를 하면.... @Test public void testMember(){ //givien Member member = new Member("memberA"); //when Member savedMember = repository.save(member); //save 저장(id도 [자동] 생성/저장) Member findedMember = repository.find(savedMember.getId());(saveMember id로 조회) //then //JPA에서는 같은 ID로 Context로 조회한 객체들은 [무조건] 같은 객체, 즉 참조변수 값이 같음을 보장한다. assertThat(findedMember).isEqualTo(savedMember); } findedMember 객체는 [saveMember의] id로 .. 더보기 JPA에서 생성자의 접근 지정자 - Protected, Pulibc(Feat. Lazy, Proxy) @Entity @Getter@Setter public class Member { @Id@GeneratedValue private Long id; private String username; // JPA에서는 꼭 기본 생성자가 있어야 한다. protected Member(){} public Member(String username){ this.username = username; } } JPA 스펙에서는, 생서자를 [Protect,Public], 이 2가지로 제한을 하고 있다. (생성자를 private으로 지정하면 에러남) 왜냐하면, 그 이유는 크게 2가지 이다. 1. Public : 클라이언트 코드에서 생성자를 사용하지 않는 경우는 거의 없다. 고로, 클라이언트 코드에서도 생성자를 사용할 수 있게 해줘야.. 더보기 @RunWith(SpringRunner.class) JUNIT 4.X.X에서는 테스트를 실행할 때, 아래와 같은 Annotation을 붙여야 Spring의 기능들을 사용가능했다. @RunWith(SpringRunner.class) @SpringBootTest class MemberdJpaRepositoryTest { } JUNIT부터는 @SpringBootTest 하나만 붙여 주면 된다. @SpringBootTest class MemberdJpaRepositoryTest { } } 더보기 Spring Data JPA에 대한 OverView Spring Data JPA -> Spring Framework와 JPA이란 기반 위에서, [JPA]를 정말 편리하게 사용할 수 있게 해주는 Spring에서 제공하는 라이브 러리이다. 우리가 여태껏 복잡하게 순수 JPA만으로 개발해 왔던 Repository 구현체를 개발하지 않고, Spring에서 제공하는 [인터페이스]에서 [등록],[삭제],[수정] 등의 CRUD, 기본적으로 제공하므로 개발자는 그 API를 가져다 쓰기만 하면 된다. (Repository 관련 개발 코드가 확연히 줄어 든다) 그러나, Spring에서 제공하는 Spring Data JPA는 JPA의 너무 많은 부분들을 자동화 및 추상화를 하기 때문에, Spring Data JPA를 잘 사용하기 위해서는, Spring과 JPA에 대해서 10.. 더보기 JPA 설정 시, 주의 사항!!! jpa: hibernate: ddl-auto: create properties: hibernate: #show_sql: true , 이 부분을 주석 처리한 이유는 아래의 loggig.level.org.hibernate.sql: debug에서 SQL문을 콘솔이 아니라 [로그 파일]로 남기기 위함이다. format_sql: true logging.level: org.hibernate.SQL: debug # 이렇게 하면,hibernate가 날리는 SQL문을 [콘솔창]이 아니라, [로그 파일]로 남길 수가 있다. 더보기 H2 DB 설치 시, 로컬DB로의 설정! H2 DB를 다운로드하고, 처음으로 실행을 해 보겠다. 위와 같이 [Remote] database를 생성하지 못하겠다고 나와 있다. 당연하다. 지금 우리는 원격(Remote)로 db에 접근하려는 것이 아니라, 로컬에서 DB 접근을 하려고 하기 때문이다. 로컬에서 DB를 접근하려면, 당연한 이야기겠지만, 로컬에 DB 파일을 처음에 한 번 생성을 해줘야 한다. 그 방법론은 여러 개가 있지만, 본인은 아래의 방법으로 해결하겠다.(아래 사이트에서 다른 방법 참조) https://xively.tistory.com/43, https://sogno-ing.tistory.com/169 DB 접근 URL을 처음에 한 번 위와 같이 설정을 하고 [연결]을 눌러준다. 그러면, 내 로컬 PC 어딘가에 datajpa 관련 db.. 더보기 Spring Boot 버전에 따른 Dependency 라이브러리 버전 확인 Spring Boot의 버전에 따라, Dependency에서 관련 라이브러리를 다운로드할 때, 항상 Spring Boot 버전에 최적화는 버전의 라이브러리를 다운로드 해온다. 만약 Spring Boot 버전이 3.x.x이라고 가정을 해보자. 기존에 Spring Boot 버전 2.x.x로 개발을 했던 프로젝트를 수정해야 할 일이 생겼다. 이때 H2 DB를 사용했는데, 프로젝트를 실행했는데 H2 DB에서 에러가 생겼다. 그럼, Spring Boot 2.x.x에서는 H2 DB 버전이 1.X.X를 사용했었는데, Spring Boot 3.x.x에서는 H2 DB 버전을 2.X.X를 사용하기에, H2 라이브러리를 다운로드 할 때 H2 DB 2.X.X 버전을 다운로드 해버려서, 에러가 난 것이다. -> 이렇게, Spr.. 더보기 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음