전체 글

public interface MemberRepository extends JpaRepository { List findByUserNameAndAgeGreaterThan(String username, int age); List findHelloBy(); } public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name;//필드명 수정 private int age; . . . . . . 오류코드: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'memb..
@Test public void findHelloBy() { List helloBy = memberRepository.findHelloBy(); } 해당 코드를 실행하면 정상적으로 작동 하는 것을 알 수 있다. 하지만 조금 의아하기도 하다. 왜냐하면 hello라는 의미없는 문자가 들어갔기 때문이다. 하지만 이는 틀린 문법이 아니다. Spring Data Jpa에서 지원하는 문법이다. reference doc에서는 다음과 같이 설명하고 있다. . Any text between find (or other introducing keywords) and By is considered to be descriptive unless using one of the result-limiting keywords such ..
List findByUserNameAndAgeGreaterThanAndNameLikeAndXXXAndXXXXAndXXX(String username, int age,int x, int y); 이런 식으로 And가 무한정으로 길어지면 사용하기도 보기도 너무 안좋기 때문에 Query-creation은 두개 정도가 적당하다
SELECT * FROM customer WHERE cust_country IN ('JP', 'KR', 'US'); jpa의 List(컬렉션)를 넘기고 싶을 때가 있는데 그때는 in을 쓰면 된다. em.createQuery("select c from customer where c.cust_country IN (:countrys)") .setParameter("countrys",countrys) .getResultList(); ↓ public interface CountryRepository extends JpaRepository { List findByCountryIn(Collection countrys) } 간단하게 바꿀 수 있다. 자세한 사용법은 아래 주소를 확인 해보자. https://docs.sp..
//==JPQL==// public List findByUsernameAndAgeGreaterThan(String userName, int age) { return em.createQuery("select m from Member m where m.userName = : username and m.age > : age") .setParameter("username", userName) .setParameter("age", age) .getResultList(); } ↓ public interface MemberRepository extends JpaRepository { List findByUserNameAndAgeGreaterThan(String username, int age); } jpql: fin..
✔ Spring Security의 기본 id는 user 비밀번호는 콘솔에 적혀있다. ✔ localhost:8080/login은 아무설정도 안한상태에서는 springSecurity에서 가로채서 spring security login으로 연결된다. 이때 user와 콘솔에 나오는 비밀번호를 입력하지 않으면 url로 접근 할 수 없다. SecurityFilterChain을 넣게 되면 Spring security의 로그인은 더이상 나오지 않게 된다. @Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain configure(HttpSecurity http) throws Exception { http..
view로 이동시키는게 아니라 httpBody에 데이터를 담아서 보내는것 Spring's RequestBody and ResponseBody Annotations | Baeldung Learn about the Spring @RequestBody and @ResponseBody annotations. www.baeldung.com
@Bean을 등록하는 클래스에 붙여주는 어노테이션 https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html Configuration (Spring Framework 5.3.23 API) Specify whether @Bean methods should get proxied in order to enforce bean lifecycle behavior, e.g. to return shared singleton bean instances even in case of direct @Bean method calls in user code. This f..
키보드발
개발블로그